当前位置:  开发笔记 > 开发工具 > 正文

获取Windows上任何用户的CSIDL_LOCAL_APPDATA路径

如何解决《获取Windows上任何用户的CSIDL_LOCAL_APPDATA路径》经验,为你挑选了1个好方法。

是否有任何的Win32/MFC API来获取CSIDL_LOCAL_APPDATA对于任何我想要的(不仅是当前登录的一个)的用户?假设我有"域\用户"形式的用户列表,我想获得他们的路径列表 - 这可能吗?



1> Franci Penov..:

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

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

但是,请记住,这依赖于未记录的注册表项,并且可能会在操作系统的未来版本中出现问题.(或者,正如雷蒙德·陈所说的那样:"既然你知道该怎么做,就让我告诉你为什么你不应该这样做......":-))

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

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

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有