zl程序教程

您现在的位置是:首页 >  后端

当前栏目

浅谈C#中Process类的使用详解

c# 使用 详解 浅谈 Process
2023-06-13 09:14:54 时间

Process类的作用是对系统进程进行管理,我们使用Process类中的一些方法结合Winform开发个简单的进程管理器:

在使用Process类的时候,先导入命名空间System.Diagnostics。
使用Winform画出如上的界面,数据显示使用的是Listview。
在窗体的Load事件中写出如下代码:

复制代码代码如下:

 privatevoidForm1_Load(objectsender,EventArgse)  
 {  

   listView1.FullRowSelect=true;  

   GetProcess();  
 }

其中GetProcess方法如下:
复制代码代码如下:

 privatevoidGetProcess()
 {
           listView1.Items.Clear();

           Process[]proList=Process.GetProcesses(".");//获得本机的进程

           lblNum.Text=proList.Length.ToString();//当前进程数量
           foreach(ProcesspinproList)
           {
               ListViewItemlvi=newListViewItem();

               lvi.Text=p.ProcessName;

              
               lvi.SubItems.AddRange(newstring[]{p.Id.ToString(),p.PrivateMemorySize64.ToString()});//进程ID 使用内存

               listView1.Items.Add(lvi);
           }
 }

如果想终止一个进程,先选中一个进程,点击上面的进程按钮:
click事件代码如下:
复制代码代码如下:
 privatevoidbutton2_Click(objectsender,EventArgse)
 {
            if(listView1.SelectedItems.Count>0)
            {
                try
                {
                    stringproName=listView1.SelectedItems[0].Text;
                    Process[]p=Process.GetProcessesByName(proName);//根据进程命获得指定的进程
                    p[0].Kill();//杀死该进程
                    MessageBox.Show("进程关闭成功!");
                    GetProcess();
                }
                catch
                {
                    MessageBox.Show("无法关闭此进程!");
                }

            }
            else
            {
                MessageBox.Show("请选择要终止的进程!");
            }
 }

当然我们可以调用Process的start方法来开启一个进程:
启动按钮的事件如下:
复制代码代码如下:
 privatevoidbutton1_Click(objectsender,EventArgse)
 {
    if(textBox1.Text!=string.Empty)
    {
        Process.Start(textBox1.Text);//启动一个进程
    }
    else
    {
        MessageBox.Show("请输入启动项");
        textBox1.Focus();
    }

 }

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