- 4
- 0
- 约4.11千字
- 约 6页
- 2017-03-14 发布于重庆
- 举报
使用C制做进程监视器
使用C#制做进程监视器.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。使用C#制做进程监视器
1)使用wmi获取父进程id,进程创建者
(注意,使用wmi获得的内容,不宜循环刷新,这样代价比较大)
添加命名空间:
复制 保存using System.Management;
复制 保存 summary
使用Wmi获取指定进程的创建者等信息
summary
param name pID进程IDparam
private void FillDetailUseWmi int pID ManagementObjectSearcher searcher new ManagementObjectSearcher Select From Win32_Process Where ProcessID + pID ; ManagementObjectCollection moc searcher.Get ; ManagementOperationObserver observer new ManagementOperationObserver ; HandleObjectReady hor new HandleObjectReady ; 监测异步方法是否已成功返回 observer.ObjectReady + new ObjectReadyEventHandler hor.Done ; foreach ManagementObject mo in moc 异步调用该对象的GetOwner方法,获取进程创建者 mo.InvokeMethod observer, GetOwner, null ; 等待异步调用返回 while !hor.Complete System.Threading.Thread.Sleep 500 ; string user ; 判断获取用户名的操作是否成功 if hor.Obj[returnValue].ToString 0 user hor.Obj.Properties[User].Value.ToString ; 判断字典中是否已移除该项 if !this.mDict.ContainsKey pID return; if mo[ParentProcessID] ! null this.mDict.ContainsKey Convert.ToInt32 mo[ParentProcessID] 根据父进程ID获取父进程名称 this.mDict[pID].ParentProce this.mDict[Convert.ToInt32 mo[ParentProcessID] ].ProceName; this.mDict[pID].Creator user; 触发刷新进程详细信息事件 if this.HandleDetailList ! null this.HandleDetailList this.mDict[pID] ; 释放资源 searcher.Dispose ; searcher null; moc.Dispose ; moc null; observer null; hor null; summary
该类用于监测Wmi异步调用方法是否已经返回
summary
public class HandleObjectReady private bool complete false; private ManagementBaseObject obj; public void Done object sender, ObjectReadyEventArgs e complete true; obj e.NewObject; public bool Complete get return complete; public ManagementBaseObject Obj get return obj; 2)使用性能计数器计算cpu利用率
2.1 计算过程
通过计数器获取idle空闲进程cpu占用率r1;
通过process类的TotalProcessorTime属性获取各进程的cpu时间,求和,得各进程(除空闲进程idle,该进程无法通过process类获得cpu时间)cpu时间和t1;
通过t1 100-r1 得到总cpu时间t;
对各进程,通过TotalProcessorTime获得进程cpu时间tnew,计算:
Tnew-told t,即得该进程的cpu占用率,其中told是程序中记录的该进程上一次的TotalPro
您可能关注的文档
- 毕业论文标准附录格式论文定稿(本可直接添加内容整理).doc
- 毕业设计太阳能风光互补发电系统中期检查.doc
- 佳能2270维修资料.doc
- 毕业设计施工组织设计任务书.doc
- 毕业设计任务书(手推式吊车).doc
- 毕节三联学校四年级数学第一次月考试卷.doc
- 毕业设计(论文报告)撰写规范.doc
- 毛庄一中减负万里行活动汇报材料.doc
- 佳能450D参数.docx
- 佳能450D镜头选配指南.doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
原创力文档

文档评论(0)