- 97
- 0
- 约3.96万字
- 约 42页
- 2017-05-10 发布于北京
- 举报
如何使用WMI获取进程信息.doc
如何使用WMI获取进程信息(异步处理)
文章分类:操作系统
以下示例演示如何使用WMI 获得本地机器的进程列表(当然,WMI 也能获得远程机器的进程列表,远不只例子中的功能),示例代码是我简化codeproject 的例子而来:
?
// 用于表示进程信息的结构
public struct structProcessInfo
{
??? // 进程名
???? public string stringName;
??? // 进程ID
???? public string stringProcessID;
??? // 父进程ID
???? public string stringParentProcessID;
??? // 用户名
???? public string stringUserName;
}
?
public class ProcessesInfo
{
???? private structProcessInfo _value;
???? public structProcessInfo Value
???? {
???????? get {return _value;}
???????? set {_value = value ;}
???? }
}
?
// 用于保存进程信息的字典类,继承于NameObjectCollectionBase
public class ProcessesDictionary : NameObjectCollectionBase
{
??? public void Clear()
??? {
??????? BaseClear();
??? }
?
??? public void Add(string name, ProcessesInfo processObj)
??? {
??????? BaseAdd(name, processObj);
??? }
?
??? public void Remove(string name)
??? {
??????? BaseRemove(name);
??? }
?
??? public void RemoveAt(int index)
??? {
??????? BaseRemoveAt(index);
??? }
?
??? public ProcessesInfo this [int index]
??? {
??????? get { return (ProcessesInfo )BaseGet(index); }
??????? set { BaseSet(index, value ); }
??? }
?
??? public ProcessesInfo this [string name]
??? {
??????? get { return (ProcessesInfo )BaseGet(name); }
??????? set { BaseSet(name, value ); }
??? }
}
?
=? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =? =
?
// 用于表示进程CPU 及内存使用情况的结构
public struct structPerformance
{
??? public string stringPercentProcessorTime;
??? public string stringVirtualBytes;
}
?
public class ProcessPerf
{
??? private structPerformance _value;
?
??? public structPerformance Value
??? {
??????? get { return _value; }
??????? set { _value = value ; }
??? }
}
?
// 用于保存进程CPU 及内存使用情况的字典类
public class ProcessesPerformanceDictionary : NameObjectCollectionBase
{
??? public void Clear()
??? {
??????? BaseClear();
??? }
?
??? public void Add(string name, ProcessPerf processPerfo
原创力文档

文档评论(0)