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?