Я ищу хороший способ получить локальную папку данных приложения для конкретного пользователя - без необходимости вводить данные для входа в систему для этого пользователя.
SHGetFolderPath () может принять токен доступа для любого пользователя, для которого я хочу получить локальную папку appdata, но для получения токена доступа вы должны предоставить пароль пользователя. Кроме того, согласно документам это не поддерживается в <= Windows 2000. </p>
Раздел реестра HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folder содержит значение AppData, которое содержит местоположение локальной папки appdata для текущего пользователя ... так что я мог бы технически смонтировать куст HKCU для конкретного пользователя и получить доступ к этому значению; однако Microsoft, похоже, категорически не рекомендует использовать этот ключ, и я слышал, что иногда он также может быть неточным.
По иронии судьбы, в Windows учетная запись администратора может легко получить доступ и изменить все данные в папке appdata любого пользователя, если они просто откроют Проводник и перейдут в правильное местоположение ... но там, похоже, нет простой способ программно получить местоположение папки appdata для конкретного пользователя.
Так у меня есть другие варианты? Прямо сейчас доступ к реестру (вздох) кажется лучшим вариантом, но я бы хотел использовать что-то официальное и не обескураженное Microsoft, если это возможно.
Любые предложения будут оценены.