C#Process类是怎么用的

2025-04-29 19:15:23
推荐回答(4个)
回答1:

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

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

 private void Form1_Load(object sender,
EventArgs e)  
 {  
    listView1.FullRowSelect = true;  
    GetProcess();  
 }


其中GetProcess方法如下:

private void 

GetProcess()
 {
            listView1.Items.Clear();            
Process[] proList = Process.GetProcesses(".");//获得本机的进程            
lblNum.Text = proList.Length.ToString(); //当前进程数量
            foreach
(Process p in proList)
            {
                ListViewItem lvi =
new ListViewItem();
                lvi.Text =
p.ProcessName;              
               
lvi.SubItems.AddRange(new string[] {
p.Id.ToString(),p.PrivateMemorySize64.ToString() }); //进程ID 
使用内存
                listView1.Items.Add(lvi);
           
}
 }


如果想终止一个进程,先选中一个进程,点击上面的进程按钮:
click事件代码如下:

private void button2_Click(object sender, 

EventArgs e)
 {
             if (listView1.SelectedItems.Count >
0)
             {
                 try
                
{
                     string proName =
listView1.SelectedItems[0].Text;
                     Process[] p =
Process.GetProcessesByName(proName); //根据进程命获得指定的进程
                    
p[0].Kill(); //杀死该进程
                    
MessageBox.Show("进程关闭成功!");
                    
GetProcess();
                 }
                
catch
                 {
                    
MessageBox.Show("无法关闭此进程!");
                 }

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


当然我们可以调用Process的start方法来开启一个进程:
启动按钮的事件如下:

private void button1_Click(object sender, 

EventArgs e)
 {
     if (textBox1.Text != string.Empty)
    
{
         Process.Start(textBox1.Text); //启动一个进程
     }
    
else
     {
         MessageBox.Show("请输入启动项");
        
textBox1.Focus();
     }

 }

回答2:

Process process = new Process();//实例
process.StartInfo.CreateNoWindow = true;//设定不显示窗口
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = "cmd.exe"; //设定程序名
process.StartInfo.RedirectStandardInput = true; //重定向标准输入
process.StartInfo.RedirectStandardOutput = true; //重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向错误输出
process.Start();
process.StandardInput.WriteLine("ipconfig");//执行的命令
process.StandardInput.WriteLine("exit");
process.WaitForExit();
process.Close();
return process.StandardOutput.ReadToEnd();

回答3:

http://linyanjun.blog.edu.cn/2010/518639.html
我存在blog上刚好有例子呢

回答4:

lz自己看