[SHGetFolderPath()用于特定用户

问题描述 投票:4回答:1

我正在寻找一种获取特定用户的本地应用程序数据文件夹的好方法-无需输入该用户的登录详细信息。

SHGetFolderPath()可以接受我想要为其获取本地appdata文件夹的任何用户的访问令牌,但是要获取访问令牌,您必须提供用户密码。另外,根据docs,<= Windows 2000上不支持。

注册表项HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell文件夹

包含AppData值,该值包含当前用户的本地appdata文件夹的位置...因此我可以从技术上挂载HKCU为特定用户配置并访问此值;但是,Microsoft似乎强烈不鼓励使用此密钥,而且我听说它有时也会不准确。

具有讽刺意味的是,在Windows上,如果管理员帐户只是打开资源管理器并浏览到正确的位置,则可以轻松访问和修改任何用户的appdata文件夹中的所有数据...但这似乎并不容易。以编程方式获取特定用户的appdata文件夹位置的方法。

所以我还有其他选择吗?现在,访问注册表(gasp)似乎是最好的选择,但是我想使用一些正式的东西,如果可能的话,Microsoft最好不要这样做。

任何建议将不胜感激。

我正在寻找一种获取特定用户的本地应用程序数据文件夹的好方法-无需输入该用户的登录详细信息。 SHGetFolderPath()可以接受针对...

registry appdata application-data
1个回答
4
投票

没有令牌AFAIK,没有记录的方法可以做到这一点,但是最好的选择是:

© www.soinside.com 2019 - 2024. All rights reserved.