Witam.
Napisałem funkcje do robienia print screena.
Wygląda ona tak:
HBITMAP MakePrintScreen()
{
HWND hWindow = GetDesktopWindow();
HDC hdcScreen = GetDC(hWindow);
RECT rect;
HBITMAP hbmC;
GetClientRect(hWindow,&rect);
if((hbmC = CreateCompatibleBitmap(hdcScreen,rect.right,rect.bottom)) != NULL)
{
HDC hdcC;
if((hdcC = CreateCompatibleDC(hdcScreen)) != NULL)
{
HBITMAP hbmOld = (HBITMAP)SelectObject(hdcC,hbmC);
BitBlt(hdcC,0,0,rect.right,rect.bottom,hdcScreen,0,0,SRCCOPY);
SelectObject(hdcC,hbmOld);
DeleteDC(hdcC);
}
}
ReleaseDC(hWindow,hdcScreen);
return hbmC;
}
działa bardzo dobrze.
jednak muszę teraz napisać funkcje do robienia screen'a danego okna, z filtrowaniem przysłaniania przez inne okno.
więc jak moge pobrać bitmape(zrobić screena) przysłoniętego przez inne okno okna tak?
z góry dziękuje za pomoc
Dodane:
Chce to zrobić bez odsłaniania danego okna (bez używania funkcji np. SetActiveWindow)