在 C++ Win32 中获取计算机上的用户配置文件列表
枚举计算机上所有用户配置文件的最佳方法是什么?
What is the best way to enumerate all of the user profiles on a computer?
我知道如何获取当前登录的用户配置文件,并且我知道如何获取所有用户"配置文件.但我想获得计算机上每个配置文件的列表.
I know how to get the currently logged in user profile, and I know how to get the "all user" profile. But I'd like to get a list of each and every profile on the computer.
推荐答案
在像 flokra 建议的那样走无证路线之前,我会尝试 NetUserEnum() 或 NetQueryDisplayInformation()
Before going the undocumented route like flokra suggests, I would try NetUserEnum() or NetQueryDisplayInformation()
如果你想进入无证领域,HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
有一个(不完整的)账户列表(缺少像 ASPNET、HelpAssistant 和 SUPPORT_xxxx 这样的特殊账户) 它还具有配置文件文件夹的路径,这比使用 %ALLUSERSPROFILE%..
安全得多,但为什么在有 GetProfilesDirectory()
If you want to go into undocumented land, HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
has a (incomplete) list of accounts (It's missing special accounts like ASPNET, HelpAssistant and SUPPORT_xxxx) It also has the path to the profile folder, which is a lot safer than using %ALLUSERSPROFILE%..
but why use it when there is GetProfilesDirectory()
相关文章