我的软件仍然需要支持Windows XP。在其中,我从Windows服务调用SHGetKnownFolderPath API以获取FOLDERID_Desktop
之前的用户特定路径(例如hToken
)。由于XP不支持该API,我很好奇是否有其他方法可以在该操作系统上执行此操作?
答案 0 :(得分:2)
使用的正确功能是SHGetFolderLocation,通过NULL
或-1
作为访问令牌:
hToken [in]
键入:HANDLE
可用于表示特定用户的访问令牌。它通常设置为NULL,但有时可能需要它 对于那些被视为属于a的文件夹的多个用户 单个用户。这种类型最常用的文件夹是My 文档。调用应用程序负责正确 当hToken为非NULL时进行模拟。它必须有适当的 特定用户和用户注册表的安全权限 必须安装蜂巢。请参阅访问控制 讨论访问控制问题。
为hToken参数指定值-1表示默认用户。这允许SHGetFolderLocation的客户端查找文件夹 默认用户的位置(例如“桌面”文件夹)。该 任何新用户帐户都是重复的默认用户用户配置文件 创建,并包括特殊文件夹,如我的文档和 桌面。添加到“默认用户”文件夹中的任何项目也会显示在任何项 新用户帐户。