Есть ли альтернативы SHGetKnownFolderPath с токеном пользователя для Windows XP?

StackOverflow https://stackoverflow.com//questions/22055822

Вопрос

Мое программное обеспечение по-прежнему должно поддерживать Windows XP.В нем я звоню SHGetKnownFolderPath API из службы Windows для получения пользовательских путей (например, FOLDERID_Desktop) к hToken.Поскольку этот API не поддерживается в XP, мне интересно, есть ли альтернативные способы сделать это в этой ОС?

Это было полезно?

Решение

Правильная функция для использования будет SHGetFolderLocation, пройдя либо NULL или -1 в качестве токена доступа:

hToken [в]

Тип:РУЧКА

Токен доступа, который можно использовать для представления конкретного пользователя.Обычно он устанавливается на NULL, но это может потребоваться, когда есть несколько пользователей для тех папок, которые рассматриваются как принадлежащие одному пользователю.Наиболее часто используемая папка этого типа - мои документы.Призывное заявление несет ответственность за правильное подражание, когда Htoken не является нулевым.Он должен иметь соответствующие привилегии по безопасности для конкретного пользователя, и в данный момент должен быть установлен улей реестра пользователя.См. Контроль доступа для дальнейшего обсуждения вопросов контроля доступа.

Присвоение параметру hToken значения -1 указывает на пользователя по умолчанию.Это позволяет клиентам ShgetFolderLocation находить местоположение папок (например, папку рабочего стола) для пользователя по умолчанию.Профиль пользователя по умолчанию дублируется, когда создается любая новая учетная запись пользователя, и включает в себя специальные папки, такие как мои документы и рабочие столы.Любые элементы, добавленные в папку пользователя по умолчанию, также появляются в любой новой учетной записи пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top