当前位置 : 主页 > 编程语言 > c++ >

c – 如何获取特定用户的Windows“特殊文件夹”的路径?

来源:互联网 收集:自由互联 发布时间:2021-06-23
在服务中,为特定用户确定特殊文件夹路径(例如“我的文档”)的最佳方法是什么? SHGetFolderPath允许您传入令牌,因此我假设有一些方法可以模拟您感兴趣的文件夹的用户. 有没有办法只根
在服务中,为特定用户确定特殊文件夹路径(例如“我的文档”)的最佳方法是什么? SHGetFolderPath允许您传入令牌,因此我假设有一些方法可以模拟您感兴趣的文件夹的用户.

有没有办法只根据用户名执行此操作?如果没有,用户帐户所需的最小信息量是多少?我宁愿不必要求用户的密码.

(这是一个related question.)

我将挂载用户的注册表配置单元并查找路径值.是的,由于提到的所有原因(前向兼容性差等),这是次优解决方案.但是,与Windows中的许多其他内容一样,MS没有提供API方法来执行您想要的操作,因此它是最佳选择.

您可以使用LookupAccountName获取用户的SID(而不是GUID).您可以使用LoadUserProfile加载用户的注册表配置单元,但不幸的是,这还需要一个用户令牌,这将需要他们的密码.幸运的是,您可以使用RegLoadKey手动将配置单元加载到任意位置,读取数据并卸载它(我认为).

是的,这是一个痛苦,是的,它可能会在未来的Windows版本中破裂.也许到那时MS将提供一个API来实现它,将其反向移植到旧版本的Windows中,并通过Windows更新自动分发……但我不会屏住呼吸.

附:此信息旨在增强您相关问题中提供的信息,包括免责声明.

网友评论