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

Тема в разделе "Реестр Microsoft Windows", создана пользователем Dragokas, 23 июн 2015.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.471
    Симпатии:
    4.303
    В реестре есть 2 позиции, где можно увидеть расположение специальных папок
    таких как "Рабочий стол", "Мои документы" и пр.

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

    В чем их отличие и в каком случае система обращается к одной, в каком - к другой?
     
  2. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.197
    Симпатии:
    4.969
    User Shell Folders имеет приоритет.
    И,соответственно приоритеты имеют по отношению друг другу данные записи в hklm.

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

    Я так понимаю это памятник корявости m.w )))
     
    Последнее редактирование: 23 июн 2015
    Dragokas нравится это.
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.471
    Симпатии:
    4.303
    Даже уже читал эту статью -)
    Спасибо за ссылку.

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

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

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

Поделиться этой страницей