Nach jedem Start ein neues Desktop-Motiv zeigen

Abwechslung auf dem Bildschirm: Wollen Sie bei jedem Start ein anderes Hintergrundbild sehen, stellen Sie das über »Eigenschaften« des Desktops ein.

Automatisieren Sie das Wechseln des Hintergrundbildes. Kopieren Sie die Datei CHNGWALL.VBS von der Heft-CD CHIP-Code CHNGWALL nach WINDOWS\STARTMENÜ\PROGRAMME\AUTOSTART.

!Achtung: In NT 4.0 heißt der Ordner WINNT\PROFILES\USER\STARTMENÜ\PROGRAMME\AUTOSTART, in Windows 2000 heißt er DOKUMENTE UND EINSTELLUNGEN\USER\STARTMENÜ\PROGRAMME\AUTOSTART. Anstelle von »USER« muss jeweils Ihr Benutzername stehen.

Nächster Schritt: Legen Sie auf dem Laufwerk C: einen neuen Ordner namens HINTERGRÜNDE an. Darin speichern Sie alle Bilder, die Sie als Desktop-Motiv verwenden wollen. Bei Windows 95 und NT müssen die Dateien grundsätzlich im Format BMP gespeichert sein. Die neueren Versionen erlauben auch JPG-Files.

Der Rest funktioniert von selbst: Das Listing startet beim Booten von Windows und zählt die im Ordner HINTERGRUND abgelegten Bilder. Das heißt: Sie können jederzeit neue Motive in den Ordner verschieben. Per Zufall bestimmt das Programm eines der Bilder als Desktop-Motiv. Wichtig: Der Windows Scripting Host muss stets aktiv sein.

Für Programmier-Interessierte hier das komplette Listing mit Erklärung:

Dim iAccident, iNumber, iCounterDim szFolder, szRegKey, szWallpaperDim objShell, objFileSystem, objFolderiNumber = 0iCounter = 0szFolder = „C:\Hintergrund“szRegKey = „HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\General\Wallpaper“set objShell = Wscript.CreateObject(„Wscript.Shell“)set objFileSystem = CreateObject(„Scripting.FileSystemObject“)set objFolder = objFileSystem.getFolder(szFolder)‘ Anzahl der Dateien ermittelniNumber = objFolder.files.count‘ Zufallszahl ermittelnrandomizeiAccident = Fix(rnd*(iNumber))+ 1‘ Hintergrunddatei in die Registry eintragenfor each objFile in objFolder.files iCounter = iCounter+1 If iCounter = iAccident then szWallpaper = szFolder & „\“ & objFile.Name objShell.RegWrite szRegKey, szWallpaper End Ifnext

In den Variablen »szFolder« speichert das Listing den Ordner, in dem die Hintergrundbilder liegen sollen – wenn Sie also den Ordner wechseln möchten, dann vermerken Sie den neuen Pfad hier. Die Variable »szRegKey« enthält den Schlüssel der Registry, der das Hintergrundmotiv speichert – also »HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\General\Wallpaper«. Das Objekt »objShell« des Typs »Wscript.Shell« erlaubt Zugriffe auf die Registry. »FileSystemObject« schließlich ermöglicht den Zugang sowohl zu Dateien als auch zu Ordnern. Mit der Methode »getFolder« erzeugen Sie das Objekt »objFolder«, das den Ordner mit den Hintergrundmotiven repräsentiert. Im nächsten Schritt ermitteln Sie die Anzahl »iNumber« der im Ordner liegenden Motive, indem Sie die Methode »Count« der Auflistung »objFolder.files« verwenden. Jetzt erzeugt das Listing eine Zufallszahl. »randomize« initialisiert den Zahlengenerator, die Formel »iAccident = Fix(rnd*(iNumber)) + 1« schafft dann eine Zufallszahl im Rahmen der vorhandenen Motive. Die »For Each«-Schleife sucht das Motiv aus und schreibt es mit »RegWrite« in die Registry.

www.chip.de/foren/windows