脚 本 之 家 www.jb51.net
页面导航: 首页软件编程C#教程 → 正文内容 C# 系统进程 用户名

C# 获取系统进程的用户名

发布:dxy 字体:[增加 减小] 类型:转载
这也是应一位网友的要求写的,写的比较仓促,凑合吧

需要添加对 System.Management.dll 的引用

复制代码 代码如下:

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;
}

文章评论

共有 位脚本之家网友发表了评论我来说两句

最 近 更 新
热 点 排 行