Delphi4: Desktop in Bitmap kopieren

Hallo Delphianer,

wie kann man eine Kopie des Desktops in ein Bitmap kopieren für eine Bildschirmschoner-Anwendung ?

Eigentlich sollte das mit
BitBlt(OldScreen.Canvas.Handle,0,0,Screen.Width,Screen.Height,GetDC(GetDesktopWindow),0,0,SrcCopy);

funktionieren.

Leider geht das nur wenn ich die Anwendung als .EXE starte. Wenn die selbe Anwendung als .SCR von Windows aufgerufen wird, dann wird lediglich das Hintergrundbild des Desktops kopiert ohne der offenen Anwendungen und ohne der am Desktop befindlichen Verknüpfungen.

Wer kann helfen,

mit freundlichen Grüßen,

Manfred

Hallo,

Ich hab da mal was downgeloadet. Es läuft unter Delphi 3. Sollte aber unter D4 auch funtkionieren. Unter http://www.tobo.ch/download/foos.zip kannst du das ganze runterladen. Nur ca. 50kB.

Ich glaube es war im Projektquelltext, wo der Screenshot gemacht wird. Suchs dir selbst raus. Es ist übrigens eine komplette Screensaver Anwendung.

Viel Spass.

Thomas Bolt

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas,

das gleiche Beispiel habe ich schon und das hat leider die gleichen Symptome.

Servus,

Manfred

Such mal in der Win32.hlp nach solchen Events. Eventuell kannst du da irgend einen Printscreen oder sowas auslösen.

Gruss Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]