Need to add a reference to System.Management.dll
Copy Code code as follows:
Using System.Diagnostics;
Using system.management;static void Main (string[] args)
{
foreach (Process p in process.getprocesses ())
{
Console.Write (P.processname);
Console.Write ("----");
Console.WriteLine (Getprocessusername (P.id));
}
Console.readkey ();
}private static string getprocessusername (int pID)
{
string text1 = null;
SelectQuery Query1 = new SelectQuery ("Select * from Win32_Process WHERE processid=" + PID);
ManagementObjectSearcher searcher1 = new ManagementObjectSearcher (Query1);
Try
{
foreach (ManagementObject disk in Searcher1. Get ())
{
Managementbaseobject inpar = null;
Managementbaseobject outpar = null;
Inpar = disk. Getmethodparameters ("GetOwner");
Outpar = disk. InvokeMethod ("GetOwner", inpar, NULL);
Text1 = outpar["User". ToString ();
Break
}
}
Catch
{
Text1 = "SYSTEM";
}
Return Text1;
}