Thema: Delphi Form screenshot

Einzelnen Beitrag anzeigen

Benutzerbild von Pichel
Pichel

Registriert seit: 25. Feb 2005
Ort: Kassel
65 Beiträge
 
Delphi 7 Professional
 
#5

Re: Form screenshot

  Alt 19. Mai 2008, 06:15
Zitat von taktaky:
wie kann man Form1-Screenshot erzeugen?
mit dem Code wird den gesamten Bildschirm kopiert
Versuch es mal hiermit, sollte auch bei minimierten Fenstern funktionieren
Delphi-Quellcode:
Function myBMPWindowSnap(var bmp: TBitmap; windowHandle: HWND): boolean;
var rc : TRect;
    huser32 : THandle;
    F : function(Hnd: HWND; HdcBlt: HDC; nFlags: UINT): BOOL; stdcall;
begin
   Result := False;
   huser32 := GetModuleHandle(user32);
   if huser32 <> 0 then begin
     @F := GetProcAddress(huser32, 'PrintWindow');
     if @F <> nil then begin
       GetWindowRect(windowHandle, rc);
       bmp.Width := rc.Right - rc.Left;
       bmp.Height := rc.Bottom - rc.Top;
       bmp.Canvas.Lock;
       try
         Result := F(windowHandle, bmp.Canvas.Handle, 0);
       finally
         bmp.Canvas.Unlock;
         if Result and ((bmp.Width = 0) or (bmp.Height = 0))
           then Result := False;
       end;
     end;
   end;
end;
Grüße aus Kassel.

Konfuzius sprach: Etwas lernen und sich immer wieder darin üben - schafft das nicht auch Befriedigung?
  Mit Zitat antworten Zitat