Я пытаюсь захватить определенное окно в Windows 10.1.Проблема в том, что это окно является UWP
приложением.Я нашел класс и заголовок окна, используя Spy++
.Тем не менее, когда я снимаю окно UWP с моей функцией Screenshot, на выходе получается черный растровый рисунок.Моя функция работает для любых других окон, кроме этого.
Класс приложения UWP: Windows.UI.Core.CoreWindow
Вот мой код:
HDC hScreenDC = GetWindowDC(ProgramData->TargetWnd);
RECT Rect = {0};
GetWindowRect(ProgramData->TargetWnd, &Rect);
INT Width = Rect.right - Rect.left;
INT Height = Rect.bottom - Rect.top;
HDC hMemoryDC = CreateCompatibleDC(hScreenDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hScreenDC, Width, Height);
HBITMAP hOldBitmap = (HBITMAP) SelectObject(hMemoryDC, hBitmap);
BitBlt(hMemoryDC, 0, 0, Width, Height, hScreenDC, 0, 0, SRCCOPY | CAPTUREBLT);
hBitmap = (HBITMAP) SelectObject(hMemoryDC, hOldBitmap);
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_BITMAP, hBitmap);
CloseClipboard();
DeleteDC(hMemoryDC);
DeleteDC(hScreenDC);
Почемуокно не было захвачено правильно, и как я могу захватить его?