C#中Process類的使用

本文來自: http://www.cnblogs.com/kay/archive/2008/11/25/1340387.htmlhtml

 

Process 類的做用是對系統進程進行管理,咱們使用Process類中的一些方法結合Winform開發個簡單的進程管理器:spa

在使用Process類的時候,先導入命名空間System.Diagnostics。orm

使用Winform畫出如上的界面,數據顯示使用的是Listview。htm

在窗體的Load事件中寫入以下代碼:blog

 

   1: private void Form1_Load(object sender, EventArgs e)
   2: {
   3:  
   4:    listView1.FullRowSelect = true;
   5:  
   6:    GetProcess();
   7: }

其中GetProcess方法以下:進程

     1: private void GetProcess()事件

   2: {
   3:            listView1.Items.Clear();
   4:  
   5:            Process[] proList = Process.GetProcesses(".");//得到本機的進程
   6:            
   7:            lblNum.Text = proList.Length.ToString(); //當前進程數量
   8:            foreach (Process p in proList)
   9:            {
  10:                ListViewItem lvi = new ListViewItem();
  11:  
  12:                lvi.Text = p.ProcessName;
  13:  
  14:               
  15:                lvi.SubItems.AddRange(new string[] { p.Id.ToString(),p.PrivateMemorySize64.ToString() }); //進程ID 使用內存
  16:  
  17:                listView1.Items.Add(lvi);
  18:            }
  19: }

若是想終止一個進程,先選中一個進程,點擊上面的進程按鈕:內存

click事件代碼以下:開發

   1: private void button2_Click(object sender, EventArgs e)
   2: {
   3:             if (listView1.SelectedItems.Count > 0)
   4:             {
   5:                 try
   6:                 {
   7:                     string proName = listView1.SelectedItems[0].Text;
   8:                     Process[] p = Process.GetProcessesByName(proName); //根據進程命得到指定的進程
   9:                     p[0].Kill(); //殺死該進程
  10:                     MessageBox.Show("進程關閉成功!");
  11:                     GetProcess();
  12:                 }
  13:                 catch
  14:                 {
  15:                     MessageBox.Show("沒法關閉此進程!");
  16:                 }
  17:  
  18:             }
  19:             else
  20:             {
  21:                 MessageBox.Show("請選擇要終止的進程!");
  22:             }
  23: }

固然咱們能夠調用Process的start方法來開啓一個進程:get

啓動按鈕的事件以下:

   1: private void button1_Click(object sender, EventArgs e)
   2: {
   3:     if (textBox1.Text != string.Empty)
   4:     {
   5:         Process.Start(textBox1.Text); //啓動一個進程
   6:     }
   7:     else
   8:     {
   9:         MessageBox.Show("請輸入啓動項");
  10:         textBox1.Focus();
  11:     }
  12:     
  13: }

運行程序,開始使用本身的進程管理器吧~~~~~

相關文章
相關標籤/搜索