ibcadmin 发表于 2013-3-8 13:24:52

C#进程类Process

今天讲解一下Process类的教程。
本人总结了一下网友的讲解。

首先Process类的命名空间是System.Diagnostics 下面给大家两个代码示例。

Process类的作用是对系统进程进行管理,我们使用Process类中的一些方法结合Winform开发个简单的进程管理器:http://images.cnblogs.com/cnblogs_com/kay/WindowsLiveWriter/CProcess_8881/pm_thumb.jpg在使用Process类的时候,先导入命名空间System.Diagnostics。使用Winform画出如上的界面,数据显示使用的是Listview。在窗体的Load事件中写出如下代码:


private void Form1_Load(object sender, EventArgs e)
{

listView1.FullRowSelect = true;

   GetProcess();
}

其中GetProcess方法如下:
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.Text;   
8:                     Process[] p = Process.GetProcessesByName(proName); //根据进程命获得指定的进程   
9:                     p.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: }

---------------------------------------以上代码本人没有实际操作过,转载网友,猿友们可以试试----------------------------







chao2332601 发表于 2013-6-16 01:35:19

谢谢分享!!!

chao2332601 发表于 2013-6-16 05:04:15

谢谢分享!!!
页: [1]
查看完整版本: C#进程类Process