使用C制做进程监视器.docVIP

  • 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

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档