如何在任务管理器中获取用户列表

Posted

技术标签:

【中文标题】如何在任务管理器中获取用户列表【英文标题】:How to get a list users in Task Manager 【发布时间】:2017-05-15 13:50:12 【问题描述】:

如何在任务管理器中获取用户状态列表?

我只找到了如何获取域用户列表

var usersSearcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_UserAccount");
var users = usersSearcher.Get();

【问题讨论】:

Are the answers on here of any help? 【参考方案1】:

你可以试试这段代码来获取用户列表:

var usersSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_UserAccount");
var managementObjects = usersSearcher.Get();

List<string> result = new List<string>();

foreach (ManagementObject item in managementObjects)

    foreach (var pr in item.Properties)
    
        if (pr.Name == "Caption")
        
            result.Add(pr.Value?.ToString());
        
    


var users = result.Distinct().ToList();

你也可以试试这个:

var usersSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Process");
var managementObjects = usersSearcher.Get();
List<string> allUsers = new List<string>();

foreach (ManagementObject obj in managementObjects)

    string[] argList = new string[]  string.Empty, string.Empty ;
    int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList));
    if (returnVal == 0)
    
        // return DOMAIN\user
        allUsers.Add(argList[1] + "\\" + argList[0]);
    


var result = allUsers.Distinct().ToList();

【讨论】:

以上是关于如何在任务管理器中获取用户列表的主要内容,如果未能解决你的问题,请参考以下文章

从任务管理器中隐藏 Android 应用程序 [重复]

如何获取正在运行的进程的进程ID,如任务管理器中所示

如何在 任务管理器中 查看某一个进程的cpu占用率?

如何像 Windows 任务管理器中显示的那样获得可用的物理内存

如何在winXP中的任务管理器中隐藏程序?

如何在任务管理器中添加名称到程序