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.
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]