是否有任何Win32 / MFC API来获取我想要的任何用户的 CSIDL_LOCAL_APPDATA (不仅是当前登录的用户)?假设我有“域\用户”形式的用户列表。我想得到他们的路径清单 - 可能吗?

有帮助吗?

解决方案

您可以获取该用户的SID,然后在HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList下查找并获取ProfileImagePath值。

获得此路径后,您可以为您的用户获取CLSID_LOCAL_APPDATA,将绝对路径转换为您的配置文件的相对路径,然后将该相对路径附加到其他用户配置文件路径。

但是,请记住,这依赖于未记录的注册表项,并且可能会在操作系统的未来版本中出现问题。 (或者,正如Raymond Chan所说:“现在你知道怎么做了,让我告诉你为什么你不应该这样做......”: - ))

如果您有代表用户的令牌,则可以使用SHGetFolderPath或SHGetKnownFolderPath(在Vista及更高版本上)。但是,存在某些安全限制,您应该在MSDN上阅读以获取详细信息。

SHGetFolderPath - http://msdn.microsoft.com /en-us/library/bb762181(VS.85).aspx SHGetKnownFolderPath - http://msdn.microsoft.com/en-我们/库/ bb762188(VS.85)的.aspx

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