欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#遍历系统进程的方法

程序员文章站 2022-07-01 17:05:19
本文实例讲述了c#遍历系统进程的方法。分享给大家供大家参考。具体实现方法如下: 建立一个listbox将进程名称遍历进去 this.listbox1.items...

本文实例讲述了c#遍历系统进程的方法。分享给大家供大家参考。具体实现方法如下:

建立一个listbox将进程名称遍历进去

this.listbox1.items.clear();
process[] myprocesses=process.getprocesses();
foreach(process myprocess in myprocesses)
{
this.listbox1.items.add(myprocess.processname);
}
this.listbox1.selectedindex=0;

选中listbox里面的项后将进程详细信息显示在右面的label中

try
{
string processname=this.listbox1.text;
this.groupbox1.text=processname+"进程的详细信息";
process[] myprocess=process.getprocessesbyname(processname);
this.label1.text="进程影象名:"+myprocess[0].processname;
this.label2.text="进程id:"+myprocess[0].id;
this.label3.text="启动线程树:"+myprocess[0].threads.count.tostring();
this.label4.text="cpu占用时间:"+myprocess[0].totalprocessortime.tostring();
this.label5.text="线程优先级:"+myprocess[0].priorityclass.tostring();
this.label6.text="启动时间:"+myprocess[0].starttime.tolongtimestring();
this.label7.text="专用内存:"+(myprocess[0].privatememorysize/1024).tostring()+"k";
this.label8.text="峰值虚拟内存:"+(myprocess[0].peakvirtualmemorysize/1024).tostring()+"k";
this.label9.text="峰值分页内存:"+(myprocess[0].peakpagedmemorysize/1024).tostring()+"k";
this.label10.text="分页系统内存:"+(myprocess[0].pagedsystemmemorysize/1024).tostring()+"k";
this.label11.text="分页内存:"+(myprocess[0].pagedmemorysize/1024).tostring()+"k";
this.label12.text="未分页系统内存:"+(myprocess[0].nonpagedsystemmemorysize/1024).tostring()+"k";
this.label13.text="物理内存:"+(myprocess[0].workingset/1024).tostring()+"k";
this.label14.text="虚拟内存:"+(myprocess[0].virtualmemorysize/1024).tostring()+"k";
}
catch(exception err)
{
messagebox.show("没有此进程,无法获取信息!","信息提示",messageboxbuttons.ok,messageboxicon.information);
//不处理异常
}

希望本文所述对大家的c#程序设计有所帮助。