Entwickler-Ecke
Windows API - Hintergrundbild zur Laufzeit ändern
patmann2001 - Mo 02.09.02 13:04
Titel: Hintergrundbild zur Laufzeit ändern
Hallo
Ich möchte gerne das Hintergrundbild zur Laufzeit mit einem Programm ändern.
Wie geht das?
cu Patmann
Tino - Mo 02.09.02 14:04
Welches Hintergrundbild? Das auf dem Desktop oder irgendein Bild in Deiner Anwendung oder ... ?
DeCodeGuru - Mo 02.09.02 14:16
Hi,
ich gehe mal davon aus, dass er den Desktophintergrund wechseln will. Wenn ja, dann kannste folgenden Code verwenden.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(OpenDialog1.FileName), SPIF_SENDWININICHANGE) then begin ShowMessage('Konnte folgende Datei nicht als Desktop-Hintergrund setzen: '+OpenDialog1.FileName); end; end; end; |
patmann2001 - Mo 02.09.02 16:27
Yo, danke
Das war's
cu Patmann :lol:
DeCodeGuru - Mo 02.09.02 16:30
des is gut :mrgreen:
patmann2001 - Di 03.09.02 15:34
Etwas geht leider doch nicht. :(
Ich habe Win2000.
Mit dem Befehl:
Quelltext
1:
| SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(dateiname), SPIF_UPDATEINIFILE) |
ändert Windows wenigstens das Hintergrundbild bei jedem einloggen, doch leider nicht zur Laufzeit.
Nehme ich:
Quelltext
1:
| SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(dateiname), SPIF_SENDCHANGE) |
oder
Quelltext
1:
| SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(dateiname), SPIF_SENDWININICHANGE) |
dann passiert gar nichts.
Kann ich irgendwie den Bildschirm repainten oder muss ich irgendetwas anderes tun?
cu Patmann
DeCodeGuru - Di 03.09.02 15:42
was? er ändert nur das Hintergrundbild bei jedem einloggen? Also bei mir macht er das einwandfrei und ich habe auch windows 2000. Haste Admin-Rechte? Service-Pack? Oder was anderes?
patmann2001 - Di 03.09.02 15:43
Ich bin Admin
Alle Service Packs sind installiert.
K.A. Warum nicht
cu Patmann
P.S. Es kommen auch keine Fehlermeldungen.
DeCodeGuru - Di 03.09.02 17:15
also, ich habe jetzt genau den sourcecode, den ich gepostet habe nochmal ausprobiert und es funtzt einwandfrei. Achja, man darf natürlich keine Jpegs auswählen sondern nur *.bmp-s. Sollte man vielleicht erwähnen, wenn du die Meldung aus dem code gekickt hast. aber so funtzt das einwandfrei. Achja, ich senden SPIF_SENDWININICHANGE.
patmann2001 - Mi 04.09.02 12:38
Also Egal was ich probiere:
Es klappt nicht.
cu Patmann
patmann2001 - Mi 04.09.02 14:30
ICH HABS :twisted:
Man muss AKTIVE DESKTOP deaktivieren. Dann geht es :mrgreen:
Danke
cu Patmann
DeCodeGuru - Mi 04.09.02 15:12
escht? Gut, der ist bei mir sowieso immer deaktiviert. mag den nicht. :mrgreen:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!