Получить путь к текущим обои для рабочего стола

Как уже упоминалось в заголовке, я хочу получить путь к текущим обоям на рабочем столе (в 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

В принципе, его можно читать без каких-либо инструментов:вот это выглядит так, но его можно преобразовать в более читаемый вид с помощью любого инструмента, способного отображать текст в Юникоде

Другие вопросы по тегам