34 lines
990 B
C#
34 lines
990 B
C#
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;
|
|
}
|
|
}
|
|
} |