隐藏

C#中的Process类使用

发布:2021/5/12 9:47:35作者:管理员 来源:本站 浏览次数:1054

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

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