Hallo!
Ich benutze genau diese Funktion für den Screenshot:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| function FormularScreenShot(Bmp: TBitmap; h : hWnd): Boolean; var Rec: TRect; iWidth, iHeight: Integer; begin with Bmp do try GetWindowRect(h, Rec);
iWidth := Rec.Right - Rec.Left; iHeight := Rec.Bottom - Rec.Top;
Width := iWidth; Height := iHeight;
BitBlt(Canvas.Handle, 0, 0, iWidth, iHeight, GetWindowDC(h), 0, 0, SRCCOPY);
Result := True; finally ReleaseDC(h, GetWindowDC(h)); end; end; |
Das Handle hole ich mir mit
GetForeGroundWindow und mit dem Handle frage ich per IsWindow, IsWindowVisible, etc. das Fenster auch ab - in der Hoffnung den Desktop zu finden.
Auch mit GetWindowText und dem Handle bekomme ich "Program Manager" aber ist das auch definitiv der Desktop?