Moin Sascha,
ich hab's mir mal etwas vereinfacht
Delphi-Quellcode:
procedure ScreenShot(Bild: TBitMap);
var
c: TCanvas;
r: TRect;
begin
c := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r := Rect(0, 0, Screen.Width, Screen.Height);
Bild.Width := Screen.Width;
Bild.Height := Screen.Height;
Bild.Canvas.CopyRect(r, c, r);
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;
aber in der Hauptsache bei Deinem Code belassen:
Kein Problem, das funktioniert so.
Hast Du eventuell den CopyMode des Bitmap-Canvas verstellt?