Profi-Tipp: Hintergrundbild beim Systemstart automatisch wechseln

Sie haben genug davon, bei jedem Systemstart das gleiche Hintergrundbild auf dem Monitor zu sehen – etwas Abwechslung könnte nicht schaden. Windows soll das Bild regelmäßig wechseln.

1. Bilddateien in einen Ordner kopieren
Eine Kombination von HTML, Windows Scripting Host mit VBScript und Windows-Bordmitteln führt Sie zum Ziel. Alle Listings und Dateien finden Sie auch auf der Heft-CD unter CHIP-Code PRAXIS10. Zunächst müssen Sie die ausgesuchten Hintergrundbilder als JPG-Dateien in einem Ordner ablegen – im Beispiel ist das C:\DATEN\WALLPAPER. Benennen Sie die Kopie eines Bildes um in WALLPAPER.JPG.

2. Hintergrundbild einbinden
Öffnen Sie den Texteditor, erzeugen und speichern Sie ein Dokument mit der Bezeichnung WALLPAPER.HTM, das die folgenden Anweisungen enthält:

<HTML>

<HEAD></HEAD>
<BODY background="C:\Daten\wallpaper\wallpaper.jpg">
</BODY>
</HTML>
Klicken Sie mit der rechten Maustaste auf den freien Desktop-Hintergrund, rufen Sie den Kontextbefehl »Eigenschaften« auf und klicken Sie im Register »Desktop« auf »Durchsuchen«. Markieren Sie dann als »Dateityp« den Eintrag »HTML-Dokumente«, navigieren Sie zu WALLPAPER.HTM und wählen Sie diese Datei als Bildschirmhintergrund aus. Nun müssen Sie nur noch dafür sorgen, dass sich WALLPAPER.JPG bei jedem Systemstart ändert. Diese Aufgabe übernimmt ein VB-Script-Programm.

3. Wechselnden Hintergrund realisieren
Geben Sie folgenden Code in eine neue Textdatei ein und speichern Sie sie als WALLPAPER.VBS:
Option Explicit Dim iAccident, iNumber, iCounter

Dim szFolder, szWallpaper, szFileType
Dim objFileSystem, objFolder, objFile
iNumber = 0
iCounter = 0
szFolder = "C:\Daten\Wallpaper"
szWallpaper = "C:\Daten\Wallpaper\wallpaper.jpg"
set objFileSystem = CreateObject("Scripting.FileSystemObject")
set objFolder = objFileSystem.getFolder(szFolder)
iNumber = objFolder.files.count
do
randomize
iAccident = Fix(rnd*(iNumber)) + 1
for each objFile in objFolder.files
iCounter = iCounter+1
If iCounter = iAccident then
szFileType=objFile.Type
if szFileType = "JPEG-Bild" then
Call objFile.Copy(szWallpaper, true)
end if
End If
next
loop until szFileType = "JPEG-Bild"
In der Variablen »szFolder« hinterlegt das Skript den Pfad zum Quellordner, in »szWallpaper« den Namen der Bilddatei. Dann ermittelt es eine Zufallszahl kleiner oder gleich der Anzahl der im Ordner enthaltenen Dateien und stellt fest, welche Datei an der Position der Zufallszahl steht. Anschließend überschreibt Windows WALLPAPER.JPG mit dem Inhalt der ermittelten Datei.

Abschließend fügen Sie im Ordner »Autostart« eine Verknüpfung auf das Skript ein, so dass Windows XP es beim Systemstart automatisch ausführt.