在 C++ Win32 中获取计算机上的用户配置文件列表

时间:2023-04-12
本文介绍了在 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()

这篇关于在 C++ Win32 中获取计算机上的用户配置文件列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何在 Windows 上用 C++ 创建进程? 下一篇:将 DWORD 显式初始化为 1,但调试器显示超出范围的值

相关文章