#winapi #cpp
Как получить изображение со скрытого окна?
Мой код получает лишь снимок той области и если что-то сверху есть, то его и получаю.
int Grab(HWND hwnd){
if(!hwnd) return 0;
MRect rc; GetWindowRect(hwnd, rc);
HDC dc = GetWindowDC(hwnd);
if(!dc) return 0;
// Create compatible DC
HDC cdc = CreateCompatibleDC(dc);
// Create a compatible bitmap
HBITMAP bmp = CreateCompatibleBitmap(dc, rc.GetW(), rc.GetH());
// Select Bitmap
HGDIOBJ odc=SelectObject(cdc, bmp);
// Copy pixels from screen to the BITMAP
int ret=BitBlt(cdc, 0, 0, rc.GetW(), rc.GetH(), dc, 0, 0, SRCCOPY);
// Restore bitmap
SelectObject(cdc, odc);
// Create image
if(ret) ret=NewHImage(bmp);
DeleteObject(bmp);
// Delete the hBitmapdc as you no longer need it
DeleteDC(cdc);
// Release the desktop device context handle
ReleaseDC(hwnd, dc);
return ret;
}
Ответы
Ответ 1
Попробуйте PrintWindow function
Комментариев нет:
Отправить комментарий