【发布时间】:2010-07-23 04:25:34
【问题描述】:
我想知道创建每个进程的用户。
如何使用 c# 获取任务管理器中运行的所有进程的用户名?
【问题讨论】:
标签: c# windows taskmanager
我想知道创建每个进程的用户。
如何使用 c# 获取任务管理器中运行的所有进程的用户名?
【问题讨论】:
标签: c# windows taskmanager
查看Win32_Process Class和GetOwner Method
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";
}
【讨论】: