zoukankan      html  css  js  c++  java
  • 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: }

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

  • 相关阅读:
    The best programmers are the quickest to Google
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Apache HttpClient 4.0.3 GA 发布
    warning LNK4070的解决办法
    看泡沫
    早秋精神
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Maven 3.0 RC1 发布
    关于类的数据成员的访问权限设计的一些思考
    看泡沫
  • 原文地址:https://www.cnblogs.com/lsgsanxiao/p/5201648.html
Copyright © 2011-2022 走看看