SelectQuery query1 = new SelectQuery("Select * from Win32_Process");
ManagementObjectSearcher search1 = new ManagementObjectSearcher(query1);
string text1 = null;
try
{
foreach (ManagementObject disk in search1.Get())
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
inPar = disk.GetMethodParameters("GetOwner");
outPar = disk.InvokeMethod("GetOwner", inPar, null);
text1 = disk["ProcessID"].ToString() +"_"+ outPar["User"] +"_"+ outPar["Domain"];
Console.WriteLine(text1);
}
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
Console.ReadLine();
}
原来以为会很复杂 测试后发现很简单的方式可以获得,在WinXP和Win2003 下面测试通过。
代码来自:http://topic.csdn.net/t/20051207/16/4444100.html