Я пытаюсь написать простое приложение, которое будет делать снимок экрана приложения, а затем отображать этот снимок в «основном» приложении (то есть в приложении, которое сняло снимок экрана).
Я выяснил, как получить дескриптор окна и получить снимок экрана приложения, но у меня возникают проблемы с отображением захваченного экрана в «главном» приложении.
Используя GDI, у меня есть следующий код для рендеринга:
Bitmap bit(hSrcbmp,hpal);
graphics.DrawImage(&bit,Gdiplus::PointF(0,0));
где hSrcbmp - это растровое изображение захваченного экрана, а графика - это объект GDI + 'Графика'.
Я получаю следующую ошибку после вызова конструктора Bitmap:
Gdiplus :: Image = {nativeImage = 0x00000000 lastResult = Win32Error loadStatus = -858993460}
* Использование Visual Studio 2005
* Windows XP
* Visual C ++ (неуправляемый)
Есть идеи?
Еще один вопрос: есть ли лучший подход? C # или DirectX или openGL?
Спасибо