So sollte es gehen (ging bei mir)
Delphi-Quellcode:
var Lhwnd: HWND;
LCanvas: TCanvas;
LDest: Tbitmap;
begin
LDest := TBitmap.Create;
LDest.Width := width;
LDest.Height := Height;
Lhwnd := GetWindowDC(GetDesktopWindow);
LCanvas := TCanvas.Create;
LCanvas.Handle := Lhwnd;
BitBlt(Ldest.Canvas.Handle, 0, 0, width, height, LCanvas.Handle, left, top, SRCCOPY);
Image1.Picture.Assign(LDest);
LCanvas.Free;
ReleaseDC(GetDesktopWindow, Lhwnd);
LDest.Free;
end;
@Jens Schumann: War wohl bissl zu langsam, allerdings hast du nen Fehler drin. Du hast die Left,Top Position bei BitBlt nicht angegeben bzw. vorrausgesetzt das sich das fenster bei pixel Point(0,0) befindet