Einzelnen Beitrag anzeigen

Benutzerbild von eDonkey
eDonkey

Registriert seit: 8. Okt 2011
11 Beiträge
 
Delphi 7 Personal
 
#5

AW: Hintergrundwindow (hidden) kopieren und als BMP speichern

  Alt 18. Dez 2011, 06:21
Danke für die Antwort, ich habe das mal in die funktion eingebaut, die mit nicht versteckten fenstern bei mir super klappt:

Delphi-Quellcode:
function ScreenshotHidden(wnd: HWND; const bmp: TBitmap): Boolean;
var
   PrintWindow: function(sHandle: HWND; dHandle: HDC; nFlags: UINT): BOOL; stdcall;
   rec: TRect;
begin
   Result := False;
   if dllh <> 0 then
   begin
     @PrintWindow:= GetProcAddress(dllh , 'PrintWindow');
     if @PrintWindow <> nil then
     begin
       SendMessage(wnd, WM_PRINT, 0, 0);
       GetWindowRect(wnd, rec); //has to stay dynamic
       bmp.Width := rec.Right - rec.Left;
       bmp.Height := rec.Bottom - rec.Top;
       result := PrintWindow(wnd, bmp.Canvas.Handle, 0);
     end;
   end;
end;
sieht nun so aus geht aber noch nicht, das TImage bleibt leer sofern das fenster versteckt ist.

PS: die dll wird bei mir statisch im OnCreate event der form geladen.
  Mit Zitat antworten Zitat