Hintergrundbild automatisch tauschen
Hallo,
ich suche eine Moeglichkeit ein Hintergrundbild alle x Minuten oder bei jeder Anmeldung automatisch aendern zu lassen.
Ich habe hier eine Sammlung von ein paar hundert hochwaertigen Hintergrundbildern als JPEG...
Hierzu habe ich bereits diverse Shareware gefunden, jedoch muss dies doch u.a. auch per Script oder so gehen...
Hat einer von euch evtl. eine Idee?
Merci & Gruss,
pommesrotweiss
ich suche eine Moeglichkeit ein Hintergrundbild alle x Minuten oder bei jeder Anmeldung automatisch aendern zu lassen.
Ich habe hier eine Sammlung von ein paar hundert hochwaertigen Hintergrundbildern als JPEG...
Hierzu habe ich bereits diverse Shareware gefunden, jedoch muss dies doch u.a. auch per Script oder so gehen...
Hat einer von euch evtl. eine Idee?
Merci & Gruss,
pommesrotweiss
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63845
Url: https://administrator.de/contentid/63845
Ausgedruckt am: 14.11.2024 um 07:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo pommesrotweiss!
Schau Dir einmal das an: http://www.tutorials.de/forum/visual-basic/278808-wallpaper-wechsel.htm ...
Zu verwenden ev in Kombination mit: http://www.scriptcode.co.uk/set_random_desktop_wallpaper_on_startup.htm
Grüße
bastla
Schau Dir einmal das an: http://www.tutorials.de/forum/visual-basic/278808-wallpaper-wechsel.htm ...
Zu verwenden ev in Kombination mit: http://www.scriptcode.co.uk/set_random_desktop_wallpaper_on_startup.htm
Grüße
bastla
... als Ergänzung zum 2. Link: Der "SendKeys"-Block müsste für ein deutsches Windows (Paint) so aussehen:
Eleganter, aber dann eben nicht mehr mit "Bordmitteln", lässt sich die Konvertierung zB mit PictView32 Console version durchführen - dann genügt eine Zeile der Art
Grüße
bastla
[Edit] Variante mit "PictView32" ergänzt. [/Edit]
objShell.SendKeys "%du"
objShell.SendKeys strWallPath
objShell.SendKeys "{TAB}"
objShell.SendKeys "22"
objShell.SendKeys "%s"
Wscript.Sleep 500
objShell.SendKeys "j"
Eleganter, aber dann eben nicht mehr mit "Bordmitteln", lässt sich die Konvertierung zB mit PictView32 Console version durchführen - dann genügt eine Zeile der Art
WshShell.Run "C:\Utils\pvw32con " & Chr(34) & strSrcPic & Chr(34) & " -w --o " & Chr(34) & strWallPath & Chr(34), 0, false
Grüße
bastla
[Edit] Variante mit "PictView32" ergänzt. [/Edit]
Als Beispiel eine Batchdatei hintergrund.cmd:
.JPG werden von Windows umgewandelt nach %userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp
In den o. a. Registryschlüsseln findet man die damit erzeugten Einträge. Das heißt, man muss die vorher selbst umwandeln.
Die Orginal-JPG ist im Wert "ConvertedWallpaper" eingetragen, die konvertierte Wallpaper1.bmp im Wert "Wallpaper".
Ausprobiert mit geänderten Pfaden und dem "Blütentraum". Ü in der .CMD muss umgesetzt werden auf
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "%windir%\Web\Wallpaper\Bltentraum.bmp" /F
reg add "HKCU\Control Panel\Desktop" /v ConvertedWallpaper /t REG_SZ /d "%windir%\Web\Wallpaper\Bltentraum.jpg" /F
%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
.JPG werden von Windows umgewandelt nach %userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp
In den o. a. Registryschlüsseln findet man die damit erzeugten Einträge. Das heißt, man muss die vorher selbst umwandeln.
Die Orginal-JPG ist im Wert "ConvertedWallpaper" eingetragen, die konvertierte Wallpaper1.bmp im Wert "Wallpaper".
Ausprobiert mit geänderten Pfaden und dem "Blütentraum". Ü in der .CMD muss umgesetzt werden auf
Hallo pommesrotweiss und ernstaugust!
Um das Ganze zusammenzufassen: Wenn ausschließlich Batch verwendet werden soll, ist zumindest für die Konvertierung Fremdsoftware nötig. Am Beispiel des oben genannten PictView32 (Annahme: Die "pvw32con.exe" wurde in "C:\Utils" gespeichert) könnte also ein Zufalls-Hintergrundbild-Aktivierungs-Batch so aussehen:
Bilder werden im angegebenen "BasisPfad" samt Unterverzeichnissen in den Formaten "bmp" und "jpg" gesucht. Sollen sie nur aus einem bestimmten Verzeichnis kommen, einfach bei den beiden "dir"-Befehlen das "/s" entfernen.
Grüße
bastla
Um das Ganze zusammenzufassen: Wenn ausschließlich Batch verwendet werden soll, ist zumindest für die Konvertierung Fremdsoftware nötig. Am Beispiel des oben genannten PictView32 (Annahme: Die "pvw32con.exe" wurde in "C:\Utils" gespeichert) könnte also ein Zufalls-Hintergrundbild-Aktivierungs-Batch so aussehen:
@echo off & setlocal enabledelayedexpansion
set "BasisPfad=%userprofile%\Eigene Dateien\Eigene Bilder"
set "KonvPfad=%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp"
for /f %%i in ('dir /w /s "%BasisPfad%\*.bmp" "%BasisPfad%\*.jpg"^|findstr /c:"Datei(en)"') do set /a Anzahl=%%i
set /a Nr=%Anzahl%*%random%/32768+1
set Datei=
for /f "delims=" %%i in ('dir /b /s "%BasisPfad%\*.bmp" "%BasisPfad%\*.jpg"') do call :ProcessFile "%%i"
echo Verwende %Datei% ...
if /i "%Datei:~-4%"==".bmp" goto :Eintragen
C:\Utils\pvw32con "%Datei%" -w --o "%KonvPfad%">nul
set "Datei=%KonvPfad%"
:Eintragen
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "%Datei%" /f
%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
goto :eof
:ProcessFile
if defined Datei goto :eof
set /a Nr-=1
if %Nr% gtr 0 goto :eof
set "Datei=%~1"
Grüße
bastla
@bastla
Ich habe ja nur nachvollzogen, was Windows macht, wenn man das Hintergrundbild per Hand über die Desktopeigenschaften ändert, trotzdem danke.
Was mir richtig gut gefällt, ist die RANDOM-Zeile. Darauf muss man erst mal kommen.
Ich habe ja nur nachvollzogen, was Windows macht, wenn man das Hintergrundbild per Hand über die Desktopeigenschaften ändert, trotzdem danke.
Was mir richtig gut gefällt, ist die RANDOM-Zeile. Darauf muss man erst mal kommen.
Mit dem ersten Link funktionieren die Jpegs, die Windows zur Verfügung hält, leider nicht. Die gehen nämlich auch von BMPs aus.
Aber die Konvertierung benötigt man ja im Prinzip nur einmal. IrfanView kann das z. B. im Batchmode in einem Rutsch erledigen.
Aber die Konvertierung benötigt man ja im Prinzip nur einmal. IrfanView kann das z. B. im Batchmode in einem Rutsch erledigen.
... deshalb auch der zweite (allerdings braucht das Script dort etwas Anpassung; vorteilhaft ist dabei eigentlich nur, dass es ganz ohne externe Tools auskommt).
Grüße
bastla
[Edit] Die Konvertierung aller Bilder in "bmp" sollte heutzutage nicht mehr an Platzmangel scheitern, insofern hast Du natürlich Recht. Mit der "on-the-fly"-Konvertierung immer nur des gewünschten Bildes geht's aber auch ganz gut. [/Edit]
Grüße
bastla
[Edit] Die Konvertierung aller Bilder in "bmp" sollte heutzutage nicht mehr an Platzmangel scheitern, insofern hast Du natürlich Recht. Mit der "on-the-fly"-Konvertierung immer nur des gewünschten Bildes geht's aber auch ganz gut. [/Edit]
Die Konvertierung muss eigentlich auch mit Systemmitteln funktionieren, irgendeine Funktion aus shimgvw.dll (Bild- und Faxanzeige), nur welche? MSPaint benutzt desk.cpl definitiv nicht.
Hallo pommesrotweiss (lecker!),
bin auch neu hier, daher dachte ich, jeden Tag eine gute Tat!
Habe mal grad gegoogelt (hilft) und das Programm direkt getestet. Ist eine tolle Sache:
http://wallpaperchanger.de/
Empfehle die "Beta Area" (links im Menü). Habe die xp-Version getestet.
Gruß
Thommes
bin auch neu hier, daher dachte ich, jeden Tag eine gute Tat!
Habe mal grad gegoogelt (hilft) und das Programm direkt getestet. Ist eine tolle Sache:
http://wallpaperchanger.de/
Empfehle die "Beta Area" (links im Menü). Habe die xp-Version getestet.
Gruß
Thommes