在C#中使用WMI查询进程的用户信息

这是一个使用WMI查询信息的例子。看之前请对WMI有一个简单的了解,可以百度,或者查看我上一篇:WMI测试器

主要代码:(需要添加对System.Management的引用)

//创建Win32_Process WMI类
ManagementClass mgrcls = new ManagementClass("Win32_Process");

//枚举所有实例
foreach (ManagementObject mobj in mgrcls.GetInstances())
{
    //准备参数,长度是2
    object[] pas = new object[2];

    //调用GetOwner方法,user和domain返回值在pas里面
    mobj.InvokeMethod("GetOwner", pas);

    //mobj["name"],mobj["processid"]是在调用对象上的进程名和进程ID属性
    //pas[1]、pas[0]分别是返回的domain和user
    Console.WriteLine("{0}:{1} – {2}\\{3}", mobj["name"], mobj["processid"], pas[1], pas[0]);
}

Console.ReadKey(true);

运行结果:

image[20]

暂时就这么多。。。

posted @ 2013-08-31 21:20  不是豆豆  阅读(1878)  评论(0编辑  收藏  举报
友情链接:迷途