2017-01-05 5 views
0

Мое приложение записывает экран (снимает скриншоты) с помощью функции Graphics.CopyFromScreen (...). Проблема в том, что иногда возникает исключение «Invalid handle win32» по какой-то неизвестной причине. Программа работает в фоновом режиме (это проект консольного приложения со скрытой консолью). Я искал решение с Google, но я не нашли ничего полезного в моем случаеИсключение Win32 при съемке снимка экрана [C#]

функции я писал:..

static Bitmap takeScreenshot() 
    { 
     Bitmap bmpScreenCapture = new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
             Screen.PrimaryScreen.Bounds.Height); 
     using (Graphics g = Graphics.FromImage(bmpScreenCapture)) 
     { 
      g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, 
           Screen.PrimaryScreen.Bounds.Y, 
           0, 0, 
           bmpScreenCapture.Size, 
           CopyPixelOperation.SourceCopy); 
     } 
     return bmpScreenCapture; 
    } 
+2

Можете ли вы разместить полное сообщение об ошибке ..? –

+0

Ho ж? Visual Studio просто показывает желтую рамку с информацией «Ivalid handle». Я даже не могу показать InnerException этого исключения, потому что появляется следующая ошибка ... Это очень странная проблема. – g2556

ответ

0

Я только что узнал, что приложение пытается создать файлы, которые уже существовали как-то, что вызвало исключение, но я не знаю, почему. Я удалил старые файлы, и теперь программа работает нормально ...