Расположение "специальных папок" в реестре

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,868
Реакции
6,621
В реестре есть 2 позиции, где можно увидеть расположение специальных папок
таких как "Рабочий стол", "Мои документы" и пр.

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

В чем их отличие и в каком случае система обращается к одной, в каком - к другой?
 
User Shell Folders имеет приоритет.
И,соответственно приоритеты имеют по отношению друг другу данные записи в hklm.

А по поводу того,зачем их две и чем они различаются конкретно - это результат поэтапного перехода на новые windows и проблем совместимости старых приложений.
Вот интересная статья в блоге msdn на эту тему.

Я так понимаю это памятник корявости m.w )))
 
Последнее редактирование:
Даже уже читал эту статью -)
Спасибо за ссылку.

Я так понимаю это памятник корявости m.w )))
Угу. Оставили для обратной совместимости с 4-мя игрушками, к которым потеряли исходный код -))
Где-то еще читал об этом.

Похоже, что самый корректный способ узнать Special folders других пользователей, прочитав:
HKU\<SID>\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Теми API-функциями, что в статье, сильно затратно. Нужно, чтобы пользователь был залогинен, да и читает скорее всего из того же пути.
 
Назад
Сверху Снизу