我的软件仍然需要支持 Windows XP。我在其中呼唤 SH获取已知文件夹路径 从Windows服务获取用户特定路径的API(例如 FOLDERID_Desktop) 经过 hToken. 。由于 XP 不支持该 API,我很好奇是否有其他方法可以在该操作系统上执行此操作?

有帮助吗?

解决方案

正确使用的函数是 SH获取文件夹位置, ,通过任一 NULL 或者 -1 作为访问令牌:

hToken [输入]

类型:处理

可用于代表特定用户的访问令牌。通常将其设置为null,但是当有多个用户供这些文件夹被视为属于单个用户时。这种类型的最常用文件夹是我的文档。当Htoken无效时,呼叫申请负责正确的模仿。它必须为特定用户具有适当的安全特权,并且当前必须安装用户的注册表Hive。有关访问控制问题的进一步讨论,请参见访问控制。

为 hToken 参数分配值 -1 表示默认用户。这允许ShgetFolderLocation的客户端找到默认用户的文件夹位置(例如桌面文件夹)。当创建任何新的用户帐户时,默认用户配置文件将重复,并包括我的文档和桌面等特殊文件夹。添加到默认用户文件夹中的任何项目也出现在任何新的用户帐户中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top