本文来自: 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: }

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

C#中Process类的使用的更多相关文章

  1. 利用.Net中Process类调用netstat命令来判断计算端口的使用情况

    利用.Net中Process类调用netstat命令来判断计算端口的使用情况: Process p = new Process();p.StartInfo = new ProcessStartInfo ...

  2. [转]Java中使用Runtime和Process类运行外部程序

    帖子1: 使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序.  1. exec(String command)  2. exec(String comma ...

  3. C#使用Process类调用外部程序(转)

    在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能.它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程.一.启动进程实例 Process myProc ...

  4. 关于.Net中Process的使用方法和各种用途汇总(一):Process用法简介

    简介: .Net中Process类功能十分强大.它可以接受程序路径启动程序,接受文件路径使用默认程序打开文件,接受超链接自动使用默认浏览器打开链接,或者打开指定文件夹等等功能. 想要使用Process ...

  5. java中Runtime类和Process类的简单介绍

    在java.lang包当中定义了一个Runtime类,在java中对于Runtime类的定义如下: Java code public class Runtime extends Object 每个 J ...

  6. C#的Process类调用第三方插件实现PDF文件转SWF文件

    在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢?接下来 ...

  7. 浅析Java.lang.Process类

    一.概述      Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序).      Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的 ...

  8. 使用Process类重定向输出与错误时遇到的问题 (转)

    程序中要调用外部程序cmd.exe执行一些命令行,并取得屏幕输出,使用了Process类,基本代码如下: Process process = new Process(); process.StartI ...

  9. C#的Process类的一些用法

    c#之process类相关整理 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using Sys ...

随机推荐

  1. Effective C++ -----条款22:将成员变量声明为private

    切记将成员变量声明为private.这可赋予客户访问数据的一致性.可细微划分访问控制.允诺约束条件获得保证,并提供class作者以充分的实现弹性. protected并不比public更具有封装性.

  2. 【编程题目】在从 1 到 n 的正数中 1 出现的次数

    30.在从 1 到 n 的正数中 1 出现的次数(数组)题目:输入一个整数 n,求从 1 到 n 这 n 个整数的十进制表示中 1 出现的次数.例如输入 12,从 1 到 12 这些整数中包含 1 的 ...

  3. 【linux】nohup运行守护进程

    来源:http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html nohup 命令 用途:不挂断地运行命令. 语法:nohup ...

  4. NEFU 169 步步惊心

    Description 马尔泰·若曦是康熙年间镇西大将军马尔泰的小女儿,自幼失母,却深得父亲姐姐宠爱,性格活泼任性.张晓,本是21世纪一都市白领,聪慧谨慎,玲珑剔透.因车祸而灵魂穿越到若曦身上,自此开 ...

  5. STL_advance distance prev next

    template<class InputIterator> typename iterator_traits<InputIterator>::difference_type d ...

  6. hdu1141(二进制数位,二分,打表)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1141 题意:××公司是制造computer的,1960年它造的computer是4bit的,之后每10 ...

  7. jquery学习笔记-----插件开发的编写总结

    一.对jQuery对象的扩展 ;(function($){ $.fn.extend(  { fun1:abc,fun2:1bc … } ) })(jQuery) 这里采用立即执行模式,即不用调用也能执 ...

  8. cutpFTP设置步骤

    cutpFTP设置步骤 平常时为了方便两台电脑之间传送数据,我们可以使用cutpftp这个工具实现,而且cutpftp还具有定时传送的功能,非常方便使用.以下是使用该工具的“同步文件夹”功能同步两台电 ...

  9. 22.访问者模式(Vistor Pattern)

    using System; using System.Collections; namespace ConsoleApplication5 { /// <summary> /// 访问者模 ...

  10. 11.外观模式(Facade Pattern)

    using System; namespace ConsoleApplication4 { class Program { /// <summary> /// 不使用外观模式的情况 /// ...