[Win][Shift][S] (ruft das Windows Snippets Tool auf)
Naja, Scherz beiseite: Mit dem
Handle des Fensters kannst Du per
API GetWindowRect Position und Größe des Fensters ermitteln. Die klassische
GDI-basierte Methode um an den Inhalt als Bitmap zu kommen ist, per GetDC(0) (oder GetDCEx) das display contect
handle für den Bildschirm zu besorgen, eine TBitmap der gewünschten Größe anzulegen und per BitBlt den gewünschten Ausschnitt des Bildschirms in diese zu kopieren. Leider funktioniert das nicht mit allen Anwendungen zuverlässig.
Geht in etwa so:
Delphi-Quellcode:
var
R: TRect;
H: HDC;
begin
... Setz R auf die Koordinaten und Dimension des zu kopierenden Bereichs, in Screen Koordinaten
H:= GetDC(0);
try
aBitmap.SetSize(R.Width, R.Height);
BitBlt(aBitmap.Canvas.Handle, 0, 0, R.Width, R.Height,
H, R.Left, R.Top, SRCCOPY);
finally
ReleaseDC(0, H);
end; {finally}