Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mit VBSkript ein Wallpaper setzen

Frage Entwicklung VB for Applications

Mitglied: Jens4ever

Jens4ever (Level 1) - Jetzt verbinden

31.07.2014 um 10:24 Uhr, 895 Aufrufe, 7 Kommentare

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

01.
dim shell 
02.
dim user 
03.
Set shell = WScript.CreateObject("WScript.Shell") 
04.
user = shell.ExpandEnvironmentStrings("%USERNAME%") 
05.
Set fso = CreateObject("Scripting.FileSystemObject") 
06.
windowsDir = fso.GetSpecialFolder(0) 
07.
wallpaper = "C:\Leer zeichen\test.jpg" 
08.
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper 
09.
shell.Run "%winDir%\system32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
Mitglied: emeriks
31.07.2014 um 10:39 Uhr
Hi

Zeile 07: wallpaper = """C:\Leer zeichen\test.jpg"""

E.
Bitte warten ..
Mitglied: Jens4ever
31.07.2014 um 10:48 Uhr
Danke. Jetzt gibt es keine Fehlermeldung mehr, aber der Desktop zeigt nicht das Bild an, sondern wird einfach nur schwarz. (Pfad ist natürlich angepasst, Pfad getestet.)

Hast du eine Idee, woran das liegen könnte? Danke vorab.
Bitte warten ..
Mitglied: emeriks
31.07.2014 um 10:54 Uhr
Wird das Bild nach Neuanmeldung gezeigt?
Versuch mal BMP statt JPG.

E.
Bitte warten ..
Mitglied: Jens4ever
31.07.2014 um 11:47 Uhr
Hallo!
Funktioniert nicht mit bmp und auch nicht nach Neuanmeldung/Neustart. Es läuft aber mit dem Skript oben (, das ich postete), wenn halt kein Pfad mit Leerzeichen drin ist. Vielleicht ist es einfacher erst das jpg von der Quelle nach z.B. C:\Bild.jpg zu kopieren um es ohne Leerzeichen da zu haben. Vorausgesetzt der VB-Kopierjob kann mit Leerzeichen um ;)

Danke falls du oder jemand anderes noch nen Tipp ha(s)t.
Jens
Bitte warten ..
Mitglied: emeriks
31.07.2014 um 12:39 Uhr
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.
Bitte warten ..
Mitglied: rubberman
31.07.2014 um 18:33 Uhr
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:
wallpaper = fso.GetFile(wallpaper).ShortPath
Grüße
rubberman
Bitte warten ..
Mitglied: Jens4ever
01.08.2014 um 21:23 Uhr
Also: Ich kann das Thema nicht als gelöst markieren, da es mit VBS nicht zuverlässig funktioniert. Mal aktualisiert er es mit diesem Skript, mal nicht. Nervig und war früher schon so. Auch wenn ich es per Batch mache das Gleiche. Ich habe mein Anliegen aber nun (leider) mit einer Drittanbieter-Software gelöst. John Background Switcher ist ein tolles Tool, das ich empfehlen kann für alle, die zuverlässig das Wallpaper tauschen wollen.

Danke an alle Helfer.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
Variable setzen können während timeout (3)

Frage von DontFlameMeITryMyBest zum Thema Batch & Shell ...

Exchange Server
Powershell Abwesenheitsnotiz für Gruppe setzen (3)

Frage von 124611 zum Thema Exchange Server ...

Batch & Shell
gelöst Powershell: Lokaler DTC Eigenschaften setzen? (2)

Frage von Andoreasu zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...