列出C#进程以及详细信息

王朝c#·作者佚名  2008-06-23
窄屏简体版  字體: |||超大  

建立一个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);

//不处理异常

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航