【问题标题】:How to get username of process running in task manager?如何获取在任务管理器中运行的进程的用户名?
【发布时间】:2010-07-23 04:25:34
【问题描述】:

我想知道创建每个进程的用户。

如何使用 c# 获取任务管理器中运行的所有进程的用户名?

【问题讨论】:

    标签: c# windows taskmanager


    【解决方案1】:

    查看Win32_Process ClassGetOwner Method

    Sample Code

    Sample code

    public string GetProcessOwner(int processId) 
    { 
        string query = "Select * From Win32_Process Where ProcessID = " + processId; 
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); 
        ManagementObjectCollection processList = searcher.Get(); 
    
        foreach (ManagementObject obj in processList) 
        { 
            string[] argList = new string[] { string.Empty, string.Empty }; 
            int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList)); 
            if (returnVal == 0) 
            { 
                // return DOMAIN\user 
                return argList[1] + "\\" + argList[0]; 
            } 
        } 
    
        return "NO OWNER"; 
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多