Nach dem kürzlich durchgeführten Upgrade auf Windows 8 ist mein Skript zum Abrufen des aktuellen Desktop-Hintergrundbilds fehlerhaft.
Wie kann ich unter Windows 7 den Pfad zum aktuellen Desktop-Image ermitteln? , das funktioniert super. Dieser Registrierungsschlüssel enthält jetzt jedoch immer
C:\Windows\web\wallpaper\Windows\img0.jpg
Was ist der neue Registrierungsschlüssel für Windows 8?
Ich habe zwei mögliche Lösungen gefunden.
Erstens enthält dieser Schlüssel einen Base64-codierten Pfad:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\Images\ID2
Und dann gibt es noch die "Datei mit benutzerdefinierten Designeigenschaften", die auch einen Abschnitt "[SlideShow]" enthält, der wie Base64 aussieht:
C:\Users\Scott\AppData\Local\Microsoft\Windows\Themes\Custom.theme
windows-8
desktop-customization
Scott Bennett-McLeish
quelle
quelle
Antworten:
Die beiden Registrierungsschlüssel unter beiden speichern den ursprünglichen Pfad des aktuellen Hintergrundbilds:
Sie sind im Unicode-Format. Wenn Sie das dekodieren, haben Sie den vollständigen Pfad zum aktuellen Hintergrundbild.
quelle
[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
ausgegangen, dass$bytes
der Wert des Schlüssels enthalten ist$bytes=(New-Object -ComObject WScript.Shell).RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache_000"); $path=([System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)]) -split "\0")[0]
quelle
Überprüfen Sie den
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
Wert REG_SZ (Zeichenfolge). Dies zeigt Ihnen den Pfad zu der aktuell verwendeten TranscodedWallpaper.jpg.quelle
Für Windows 8 oder höher können Sie diese vbs-Datei starten:
https://gist.github.com/raveren/ab475336cc69879a378b
Oder verwenden Sie dieses Autohotkey-Skript:
http://www.autohotkey.com/board/topic/111813-open-current-wallpaper-under-mouse-in-windows-8/
Beide von mir erstellt.
quelle
Wenn Sie in Windows 8 und 8.1 (und Berichten zufolge 10) Ihr Hintergrundbild in Windows Picture Viewer festgelegt haben (indem Sie ein Bild in Viewer öffnen und im Kontextmenü auf "Als Desktop-Hintergrund festlegen" klicken), wird dessen Speicherort angezeigt
quelle
In meiner Situation habe ich einen riesigen Ordner mit Bildern, die mein Hintergrundbild durchläuft. Einige langweilen mich nach einer Weile und ich möchte sie löschen, oder manchmal frage ich mich nur, wie der Bildname lautet, weil er die Beschreibung des Bildes enthalten kann.
Ich habe 2 Skripte basierend auf dem obigen Feedback erstellt - eines, um den aktuellen Bildpfad abzurufen, und eines, um ihn zu löschen. Nur unter Windows 10 getestet.
Holen Sie sich den Bildpfad (getwallpaper.ps1)
Löschen Sie das Bild (deletewallpaper.ps1)
quelle
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Themes
.TranscodedWallpaper
<NAME>.JPG
quelle