Das habe ich schon probiert, leider ohne Erfolg.
In meiner Testanwendung läuft das Ganze erstmal alles über ein TImage, damit es was zu sehen gibt
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var P,g:string;
begin
g:='meinbildschirmschoner.scr';
Process := TProcess.Create(g, Format('/p %d', [Image1.Picture.Bitmap.Canvas.Handle]));
Edit1.Text:=g+' '+Format('/p %d', [Image1.Picture.Bitmap.Canvas.Handle]);
end;
Hierbei geschieht jedoch ersteinmal nicht das gewünschte.
Delphi-Quellcode:
Form1.Canvas.CopyRect(Rect(0,0,Image1.width,Image1.height),Image1.Picture.Bitmap.Canvas,Rect(0,0,width,height)); // -> Formular wird auch im angegebenen Rect weiß
Image1.Picture.SaveToFile('test.jpg');
Das Image wird lediglich weiß, zeigt aber nicht den Screensaver an.