Получить путь к текущим обои для рабочего стола
Как уже упоминалось в заголовке, я хочу получить путь к текущим обоям на рабочем столе (в C++). Я пытался использовать SystemParametersInfo
с SPI_GETDESKWALLPAPER
, Но это только возвращает это:
% AppData% \ Microsoft \ Windows \ Themes \ TranscodedWallpaper
Что мне действительно нужно было бы что-то вроде этого:
C: \ User \... \ image.png
Есть ли способ добиться этого?
1 ответ
Есть куст реестра HKEY_CURRENT_USER\ Панель управления \ Рабочий стол. Имеет значение с именем Wallpaper. Содержит путь к текущим обоям.
Вы можете перейти в раздел реестра HKEY_CURRENT_USER\Control Panel\Desktop и найти шесть последних файлов, перекодированных в TranscodedWallpaper. Там имена
- TranscodedImageCache
- TranscodedImageCache_000
- TranscodedImageCache_001
- TranscodedImageCache_002
- TranscodedImageCache_003
- TranscodedImageCache_004
В принципе, его можно читать без каких-либо инструментов:вот это выглядит так, но его можно преобразовать в более читаемый вид с помощью любого инструмента, способного отображать текст в Юникоде