Entwickler-Ecke
Windows API - Warum geht mein Programm nur in Delphi?
Prinzz - Mo 15.07.02 01:14
Titel: Warum geht mein Programm nur in Delphi?
Hallo Leute!
Ich hab da mal ne Frage:
Ich hab ein Programm geschrieben, das per Zufall ein Bild aus einem Verzeichnis auswählt und dann als Wallpaper auswählt:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.setwallpaper(BMPFileName : String; Tile, Stretch : boolean ); var reg : TRegIniFile; begin reg := TRegIniFile.Create('Control Panel\Desktop' ); with reg do begin WriteString('','Wallpaper', BMPFileName); if (Tile)then WriteString('','TileWallpaper', '1') else WriteString('','TileWallpaper', '0'); if (Stretch) then WriteString('','WallpaperStyle', '2') else WriteString('','WallpaperStyle', '0'); end; reg.Free; SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pChar(BMPFileName), SPIF_SENDCHANGE or SPIF_UPDATEINIFILE); end; |
Das geht auch wunderbar solange ich in Delphi F9 drücke oder im Menü Start - Start auswähle, aber sobald ich das Programm über die compilierte EXE starte, muss ich auf dem Desktop erst noch F5 drücken um das Bild zu aktualisieren...
Wie kann das sein, das der da Unterschiede reinbaut? Ich bin total verzweifelt, kann man da überhaupt was ändern?
Bitte helft mir schnell!!!!
Schon mal Danke im Vorraus, Tobi
wurzlsepp - Mo 15.07.02 13:21
Bei mir gehts ( Delphi 4, win98)...
Prinzz - Di 16.07.02 11:00
Ich hab Delphi 6 Prof. und Windows 98... bei mir aktualisiert er das Hintergrundbild nicht, obwohl er es geändert hat, wenn ich das Programm in Delphi ausführe macht ers...
crip - Di 16.07.02 18:31
drueckst du denn auf delphi minimieren um desktop zu sehen, weil wahrscheinlich aktulisier dein windows desktopwenn du auch minimieren drueckst
Prinzz - Di 16.07.02 19:54
Nee, Delphi füllt ja nicht den ganzen Bildschirm aus (jedenfalls bei mir) und ich kann zwischen den Fenstern den Hintergrund sehen, der wechselt direkt wenn ich den Knopf drücke wenn ichs in Delphi ausführe, anders erst, wenn ich den Desktop anklicke und F5 drücke...
SpeedyGTD - So 21.07.02 12:48
Wie wärs wenn du mit Windows.keybd_event(Vk_F5,0,0,0) den Desktop mit Code aktualisierst. So würde ich das machen. :D
Mfg SpeedyGTD
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!