Bonjour,
Je ne suis pas un expert dans la prog windows donc j'ai recupéré un bout de code qui permet de faire une capture d'ecran et qui marche. Seulement voila, j'aimerais ne copier qu'une seule fenetre, que celle-ci soit visible à l'ecran ou pas (meme si elle est reduite).
J'utilise donc :
int TakeShot(HWND hWndWindow, HDC *phDcBitmap, HBITMAP *phBitmap)
{
HDC hDcWindow = GetWindowDC(hWndWindow);
int ScreenX = GetDeviceCaps(hDcWindow, HORZRES);
int ScreenY = GetDeviceCaps(hDcWindow, VERTRES);
*phDcBitmap = CreateCompatibleDC(hDcWindow);
*phBitmap = CreateCompatibleBitmap(hDcWindow, ScreenX, ScreenY);
if(!SelectObject(pSnapData->m_hDcBitmap, hBitmap)) return 0;
if(!BitBlt(*phDcBitmap, 0, 0, ScreenX, ScreenY,
hDcWindow, 0, 0, SRCCOPY)) return 0;
}
Mes questions sont :
1 - Quand j'appelle la fonction avec un HWND d'une fenetre particuliere, GetDeviceCaps me renvoie la resolution de l'ecran meme quand je redimmentionne ma fenetre.
2 - L'image que je recupere est une capture de l'ecran complet et pas seulement de la fenetre que je voulais
Merci pour votre aide