在C ++ Win32中获取计算机上的用户配置文件列表 [英] Getting a list of user profiles on a computer in 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_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\ProfileList
有一个(不完整的)帐户列表(它缺少特殊帐户,如ASPNET,HelpAssistant和SUPPORT_xxxx)它也有配置文件文件夹的路径,这比使用%ALLUSERSPROFILE%\..\
更安全,但是为什么在有GetProfilesDirectory ()
If you want to go into undocumented land, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
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()
这篇关于在C ++ Win32中获取计算机上的用户配置文件列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!