ShellExecute для открытия специальной папки (например, «Библиотеки \ Документы»), не зная имя специальной папки - PullRequest
0 голосов
/ 29 января 2012

Я делаю приложение для резервного копирования открытых папок.Проблема в том, что если в этих папках есть какие-то специальные папки (например: «Рабочий стол», «Компьютер», «Библиотеки \ Документы», ...), они не откроются.

Я знаю, что есть константыдля этих объектов, но я не знаю, какие папки будут открыты, поэтому создание словаря со всеми SpecialNames => SpecialConstant не является хорошим решением для меня.

Так что вопрос: есть ли какая-либо функция WinApi дляполучить полный путь из короткого имени специальной папки?

PS Пробовал оба ShellExecute ("open", "Path") и ShellExecute ("open", "explorer.exe", "Path"), еслиВы вставляете имена в проводнике, они работают, но открытие их из C ++ не работает

Спасибо

1 Ответ

1 голос
/ 30 января 2012

Библиотеки хранятся в каталоге %appdata%\Roaming\Microsoft\Windows\Libraries пользователей в виде файлов XML с именами <libraryname>.library-ms (например, Pictures.library-ms.). Открытие одного из этих файлов с помощью ShellExecute открывает окно проводника и показывает библиотеку.

...