Für die Erstellung der Screenshot benutze ich die Funktion, die
jfheins vorgeschlagen hat.
Delphi-Quellcode:
var
HDdc: HDC;
Bild: TBitmap;
CopyWidth: integer;
CopyHeight: integer;
begin
HDdc := GetDC(0);
CopyWidth := Screen.Width;
CopyHeight := Screen.Height;
Bild := TBitmap.Create;
Bild.PixelFormat := pf24bit;
Bild.SetSize(CopyWidth, CopyHeight);
BitBlt(Bild.Canvas.Handle, 0, 0, CopyWidth, CopyHeight, HDdc, 0, 0, SRCCOPY);
ReleaseDC(0, HDdc);
Image1.Picture.Bitmap := Bild;
Bild.Free;
Es friert auch bei dem einzelchen Screenshot ein, nur man merkt es kaum, weils zu schnell passiert. Aber wenn ich dann mehrere nacheinander erstelle, z.B. mit einem Timer und 500ms Interval, dann merkt man sehr gut, dass das System "stottert".