using System; using System.Diagnostics; using System.Management; namespace Proce { public class Pro { public static string GetProcessUserName(int pID) { string i = null; SelectQuery query1 = new SelectQuery("Select * from Win32_Process WHERE processID=" + pID); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query1); try { foreach (ManagementObject disk in searcher.Get()) { ManagementBaseObject inPar = null; ManagementBaseObject outPar = null; inPar = disk.GetMethodParameters("GetOwner"); outPar = disk.InvokeMethod("GetOwner", inPar, null); i = outPar["User"].ToString(); break; } } catch { i = "SYSTEM"; } return i; } } }