Hm, stell dir mal folgenden Fall vor:
Dein Programm läuft - warum auch immer - im Hintergrund und der User sucht im Internet etwas bei Wikipedia raus. Dort kopiert er eine Grafik und möchte sie in Word einfügen. Zufällg macht dein Programm in diesem moment ein screenshot und der werte User bekommt dann in Word nicht die Grafik angezeigt sondern seinen eigenen Bildschirm...nicht so toll oder?
Benutze lieber:
Delphi-Quellcode:
procedure MakeScreenShot(const ATarget: TBitmap);
var
DesktopDC: HDC;
begin
DesktopDC := CreateDC('DISPLAY', nil, nil, nil);
try
ATarget.PixelFormat := pfDevice;
ATarget.Width := Screen.Width;
ATarget.Height := Screen.Height;
BitBlt(ATarget.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DesktopDC, 0, 0, SRCCOPY);
finally
DeleteDC(DesktopDC);
end;
end;