C#中Process類的使用


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

 

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

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

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

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

 

   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方法來開啟一個進程:

啟動按鈕的事件如下:

   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: }

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM