使用Process类对进程进行管理

时间:2022-11-27 17:31:01

 

Process 类的作用是对系统进程进行管理,我们使用Process类中的一些方法结合Winform开发个简单的进程管理器:

在使用Process类的时候,先导入命名空间System.Diagnostics。

使用Winform画出如上的界面,数据显示使用的是Listview。

在窗体的Load事件中写入如下代码:

   1: private void Form1_Load(object sender, EventArgs e)   

{   

   listView1.FullRowSelect = true;   

   GetProcess();   }

其中GetProcess方法如下:

private void GetProcess()

         listView1.Items.Clear();   

         Process[] proList = Process.GetProcesses(".");//获得本机的进程   

lblNum.Text = proList.Length.ToString(); //当前进程数量   

       foreach (Process p in proList)   

           ListViewItem lvi = new ListViewItem();  

lvi.Text = p.ProcessName;                 

lvi.SubItems.AddRange(new string[] { p.Id.ToString(),p.PrivateMemorySize64.ToString() }); //进程ID  使用内存           listView1.Items.Add(lvi);        

如果想终止一个进程,先选中一个进程,点击上面的进程按钮:

click事件代码如下:

private void button2_Click(object sender, EventArgs e)  

 if (listView1.SelectedItems.Count > 0)   

        {           

  try   

           {                 

string proName = listView1.SelectedItems[0].Text;                   

  Process[] p = Process.GetProcessesByName(proName); //根据进程命获得指定的进程                    

p[0].Kill(); //杀死该进程  

                 MessageBox.Show("进程关闭成功!");                 

GetProcess();                

  }                

catch             

  {                    

MessageBox.Show("无法关闭此进程!");  

       }  

  else    

  {     

  MessageBox.Show("请选择要终止的进程!");  

}
当然我们可以调用Process的start方法来开启一个进程:

启动按钮的事件如下:

private void button1_Click(object sender, EventArgs e)  

{     

if (textBox1.Text != string.Empty)   

   {      

Process.Start(textBox1.Text); //启动一个进程  

  else   

  {  

  MessageBox.Show("请输入启动项"); 

    textBox1.Focus();  

   }  

 }
运行程序,开始使用自己的进程管理器吧~~~~~

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zaocha321/archive/2009/11/18/4828211.aspx