Недавно обновленный до Windows 8 мой скрипт для получения текущего изображения рабочего стола сломался.
Для Windows 7, как я могу узнать путь к текущему образу рабочего стола? , это прекрасно работает. Однако этот раздел реестра теперь всегда содержит
C:\Windows\web\wallpaper\Windows\img0.jpg
Какой новый раздел реестра используется для Windows 8?
Я нашел два возможных решения.
Во-первых, этот ключ содержит то, что выглядит как закодированный путь Base64:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\Images\ID2
А затем есть «файл свойств пользовательской темы», который также содержит раздел «[SlideShow]», который выглядит как Base64:
C:\Users\Scott\AppData\Local\Microsoft\Windows\Themes\Custom.theme
windows-8
desktop-customization
Скотт Беннетт-Маклиш
источник
источник
Ответы:
Два раздела реестра под обоими хранят исходный путь текущего фонового изображения:
Они в формате Unicode, после декодирования, у каждого будет полный путь к текущему фоновому изображению.
источник
[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
, предполагая,$bytes
содержит значение ключа$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]
источник
Проверьте значение
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
REG_SZ (строка). Это покажет вам путь к TranscodedWallpaper.jpg в настоящее время используется.источник
Для Windows 8 или более поздней версии вы можете запустить этот файл VBS:
https://gist.github.com/raveren/ab475336cc69879a378b
Или используйте этот скрипт autohotkey:
http://www.autohotkey.com/board/topic/111813-open-current-wallpaper-under-mouse-in-windows-8/
Оба созданы мной.
источник
В Windows 8 и 8.1 (и, как сообщается, 10), если вы установили обои в Windows Picture Viewer (открыв изображение в Viewer и нажав «Установить в качестве обоев рабочего стола» в контекстном меню), его местоположение будет
источник
В моей ситуации у меня есть огромная папка с изображениями, через которые проходят мои обои. Через некоторое время мне становится скучно, и я хочу удалить их, а иногда мне просто интересно, как называется изображение, потому что оно может содержать описание изображения.
Я создал 2 сценария на основе приведенных выше отзывов - один для получения текущего пути к изображению и один для его удаления. Только проверено это на Windows 10.
Получить путь к изображению (getwallpaper.ps1)
Удалить изображение (deletewallpaper.ps1)
источник
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Themes
.TranscodedWallpaper
<NAME>.JPG
источник