我的软件仍然需要支持 Windows XP。在其中,我从 Windows 服务调用SHGetKnownFolderPath API,以FOLDERID_Desktop
通过hToken
. 由于 XP 不支持该 API,我很好奇是否有其他方法可以在该操作系统上执行此操作?
问问题
3736 次
1 回答
2
使用的正确函数是SHGetFolderLocation,传递 NULL
或-1
作为访问令牌:
hToken [输入]
类型:手柄
可用于表示特定用户的访问令牌。它通常设置为 NULL,但当有多个用户用于那些被视为属于单个用户的文件夹时,可能需要它。这种类型最常用的文件夹是我的文档。当 hToken 为非 NULL 时,调用应用程序负责正确模拟。它必须对特定用户具有适当的安全权限,并且当前必须安装用户的注册表配置单元。有关访问控制问题的进一步讨论,请参阅访问控制。
为 hToken 参数分配值 -1 表示默认用户。这允许 SHGetFolderLocation 的客户端找到默认用户的文件夹位置(例如桌面文件夹)。创建任何新用户帐户时都会复制默认用户用户配置文件,其中包括特殊文件夹,例如我的文档和桌面。添加到默认用户文件夹的任何项目也会出现在任何新用户帐户中。
于 2014-02-26T23:36:27.467 回答