我希望能够为用户帐户检索Windows“特殊路径”(例如临时文件夹,桌面),但是要从服务中检索。
我知道正常的方法是使用SHGetFolderPath
和适当的CSIDL作为文件夹类型。有没有办法为每个用户提供这种类型的信息,而服务不必依次登录每个用户?
答案 0 :(得分:1)
我不是这方面的专家,但似乎你可以使用hToken
SHGetFolderPath
参数来传递另一个用户的令牌。我认为您可以使用impersonation创建此类令牌。
如果不起作用:这些文件夹位于HKEY_USERS/<user's-sid>/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders
下的注册表中。 this question中解释了如何获取SID。它在C#中,但我认为它在C ++中实际上会更容易。