我想列出 Windows 用户帐户,但仅列出在登录屏幕上可见的用户帐户,即在 Windows 启动后显示的用户帐户。
我用谷歌搜索,我发现的一切都归结为这种方法: http ://www.mydigitallife.info/how-to-create-hidden-user-account-hide-user-account-from-welcome-screen-in-windows/
但是,在我的计算机上没有上述文章中提到的注册表项 - 我不想创建它们,我想检查已经存在的东西。
我使用以下查询:
List<string> list = new List<string>();
SelectQuery query = new SelectQuery("Win32_UserAccount");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject obj in searcher.Get())
{
if (isInteresting(obj))
{
list.Add(obj.GetPropertyValue("Name").ToString());
}
}
通过上述查询返回的对象属性,我设法过滤了一些帐户(这些属性的完整列表:http: //msdn.microsoft.com/en-us/library/windows/desktop/aa394507(v=vs. 85).aspx#properties),但从日常用户的角度来看,仍然存在一些垃圾(例如驱动程序供应商用于更新的帐户)。