Ayant récemment mis à niveau vers Windows 8, mon script pour récupérer l'image actuelle du fond d'écran est cassé.
Pour Windows 7, comment puis-je trouver le chemin d'accès à l'image de bureau actuelle? , cela fonctionne très bien. Cependant, cette clé de registre contient désormais toujours
C:\Windows\web\wallpaper\Windows\img0.jpg
Quelle est la nouvelle clé de registre utilisée pour Windows 8?
J'ai trouvé deux solutions possibles.
Tout d'abord, cette clé contient ce qui ressemble à un chemin codé en Base64:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\Images\ID2
Et puis il y a le "fichier de propriétés de thème personnalisé" qui contient également une section "[SlideShow]" qui ressemble à Base64:
C:\Users\Scott\AppData\Local\Microsoft\Windows\Themes\Custom.theme
windows-8
desktop-customization
Scott Bennett-McLeish
la source
la source
Réponses:
Les deux clés de registre ci-dessous stockent toutes deux le chemin d'origine de l'image de fond d'écran actuelle:
Ils sont au format Unicode, après décodage, on aura le chemin complet vers l'image de fond d'écran actuelle.
la source
[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
, en supposant que$bytes
contient la valeur de la clé$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]
la source
Vérifiez la valeur
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
REG_SZ (chaîne). Cela vous montrera le chemin vers le TranscodedWallpaper.jpg actuellement utilisé.la source
Pour Windows 8 ou version ultérieure, vous pouvez lancer ce fichier vbs:
https://gist.github.com/raveren/ab475336cc69879a378b
Ou utilisez ce script autohotkey:
http://www.autohotkey.com/board/topic/111813-open-current-wallpaper-under-mouse-in-windows-8/
Tous deux créés par moi.
la source
Dans Windows 8 et 8.1 (et, semble-t-il, 10), si vous avez défini votre fond d'écran à partir de Windows Picture Viewer (en ouvrant une image dans Viewer et en cliquant sur "Définir comme fond d'écran" dans le menu contextuel), son emplacement sera
la source
Dans ma situation, j'ai un énorme dossier d'images que mon fond d'écran parcourt. Je m'ennuie de certains après un certain temps et je veux les supprimer ou parfois je me demande simplement quel est le nom de l'image car elle peut avoir la description de l'image.
J'ai construit 2 scripts basés sur les commentaires ci-dessus - un pour obtenir le chemin de l'image actuelle et un pour le supprimer. Testé uniquement sur Windows 10.
Obtenez le chemin de l'image (getwallpaper.ps1)
Supprimer l'image (deletewallpaper.ps1)
la source
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Themes
.TranscodedWallpaper
<NAME>.JPG
la source