Mit VBSkript ein Wallpaper setzen
Hallo all,
ich fand im Netz dieses Skript um ein Bild als Wallpaper zu setzten.
Leider funktioniert es nicht mit Pfaden die Leerzeichen haben. Habe zwar was gefunden, wie man VB beibringt, dass es Leerzeichen gibt, bekomme es aber nicht zusammen, weil der Befehl ganz anders heißt.
Kann jemand so nett sein und mir bei dieser Sache aushelfen? Dankesehr.
Jens
ich fand im Netz dieses Skript um ein Bild als Wallpaper zu setzten.
Leider funktioniert es nicht mit Pfaden die Leerzeichen haben. Habe zwar was gefunden, wie man VB beibringt, dass es Leerzeichen gibt, bekomme es aber nicht zusammen, weil der Befehl ganz anders heißt.
Kann jemand so nett sein und mir bei dieser Sache aushelfen? Dankesehr.
Jens
dim shell
dim user
Set shell = WScript.CreateObject("WScript.Shell")
user = shell.ExpandEnvironmentStrings("%USERNAME%")
Set fso = CreateObject("Scripting.FileSystemObject")
windowsDir = fso.GetSpecialFolder(0)
wallpaper = "C:\Leer zeichen\test.jpg"
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper
shell.Run "%winDir%\system32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245183
Url: https://administrator.de/forum/mit-vbskript-ein-wallpaper-setzen-245183.html
Ausgedruckt am: 11.04.2025 um 04:04 Uhr
7 Kommentare
Neuester Kommentar
Na dann benutze doch den 8.3-Namen der Datei.
Mit "dir /x" bekommst Du die 8.3 Namen der Verzeichnisse und Dateien aus
Ausgabe von "dir C:\ /x":
28.05.2014 10:36 <DIR> PROGRA~1 Program Files
24.06.2014 09:42 <DIR> PROGRA~2 Program Files (x86)
beachte "PROGRA~1".
Allerdings muss man hier beachten, dass das "~1" "dynamisch" ist. Soll heißen, es wird in der Reihenfolge des Erstellens der Ordner und Dateien bei Dopplungen in den ersten 6 Buchstaben hochgezählt. Wenn das auf verschiedenen Computern in verschiedener Reihenfolge passiert, dann stimmen die Nummern nicht überein. Insofern also nicht idiotensicher.
Besser, Du nimmst gleich nur Namen ohne Leerzeichen.
E.
Mit "dir /x" bekommst Du die 8.3 Namen der Verzeichnisse und Dateien aus
Ausgabe von "dir C:\ /x":
28.05.2014 10:36 <DIR> PROGRA~1 Program Files
24.06.2014 09:42 <DIR> PROGRA~2 Program Files (x86)
beachte "PROGRA~1".
Allerdings muss man hier beachten, dass das "~1" "dynamisch" ist. Soll heißen, es wird in der Reihenfolge des Erstellens der Ordner und Dateien bei Dopplungen in den ersten 6 Buchstaben hochgezählt. Wenn das auf verschiedenen Computern in verschiedener Reihenfolge passiert, dann stimmen die Nummern nicht überein. Insofern also nicht idiotensicher.
Besser, Du nimmst gleich nur Namen ohne Leerzeichen.
E.
Hallo Zusammen.
Ja, 8.3 könnte funktionieren (auch wenn ich glaube ich diese Art von Wallpaper-Ersetzung das letzte mal unter XP zum Laufen gebracht habe ...)
@Jens4ever
bringe mal zwischen Zeile 7 und 8 folgenden Code:
Grüße
rubberman
Ja, 8.3 könnte funktionieren (auch wenn ich glaube ich diese Art von Wallpaper-Ersetzung das letzte mal unter XP zum Laufen gebracht habe ...)
@Jens4ever
bringe mal zwischen Zeile 7 und 8 folgenden Code:
wallpaper = fso.GetFile(wallpaper).ShortPath
rubberman