加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:09:55 所属栏目:百科 来源:网络整理
导读:在服务中,为特定用户确定特殊文件夹路径(例如“我的文档”)的最佳方法是什么? SHGetFolderPath允许您传入令牌,因此我假设有一些方法可以模拟您感兴趣的文件夹的用户. 有没有办法只根据用户名执行此操作?如果没有,用户帐户所需的最小信息量是多少?我宁愿不
在服务中,为特定用户确定特殊文件夹路径(例如“我的文档”)的最佳方法是什么? SHGetFolderPath允许您传入令牌,因此我假设有一些方法可以模拟您感兴趣的文件夹的用户.

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

(这是一个related question.)

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读