Faudrait que je vérifie si ça marche bien, mais j'ai retrouvé ça dans mes "oubliettes"
void CaptureScreen(HWND hWndMain, long Left, long Top, long Width, long Height)
{
HDC srcDC;
HDC trgDC;
HBITMAP BMPHandle;
DEVMODE *dm;
srcDC = CreateDC("DISPLAY", "", "", &dm);
trgDC = CreateCompatibleDC(srcDC);
BMPHandle = CreateCompatibleBitmap(srcDC, Width, Height);
SelectObject(trgDC, BMPHandle);
BitBlt(trgDC, 0, 0, Width, Height, srcDC, Left, Top, SRCCOPY);
OpenClipboard(hWndMain);
EmptyClipboard();
SetClipboardData(CF_BITMAP, BMPHandle);
CloseClipboard();
DeleteDC(trgDC);
ReleaseDC(BMPHandle, srcDC);
}
Les dimensions de la fenêtre principale, on peut les avoir avec GetWindowRect()
Le hWnd "main" se retrouve par hWndMain = GetDesktopWindow();
J'ai du code (16 bits) pour exporter ce qui est dans le presse-papiers en CLP, ou BMP. faut que je pense à regarder ça ce soir, si ça peut rendre service.
En VB(3), y a http://forum.hardware.fr/hardwaref [...] formulaire mais il n'exporte pas.