本文来自: 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. 【leetcode】Candy(hard) 自己做出来了 但别人的更好

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  2. 【编程题目】和为 n 连续正数序列

    51.和为 n 连续正数序列(数组).题目:输入一个正数 n,输出所有和为 n 连续正数序列.例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5. 4 ...

  3. SSH框架中json传递失败

    错误截图: 这个错误乍一看无从下手,报的都是框架底层的错误,于是查阅资料得到了答案. 错误原因:struts会将action中定义的一些变量序列化转换成json格式,需要调用对象的一系列get方法,并 ...

  4. iOS添加另一个控制器的时候要注意啊

    ios的父控制器控制器和子控制器之间的注意点: " >> #warning 需要把新创建出来的控制器添加成子控制器 . 不然子控制器里面的子控件无法响应点击事件 " 一 ...

  5. c++中有些重载运算符为什么要返回引用

    事实上,我们的重载运算符返回void.返回对象本身.返回对象引用都是可以的,并不是说一定要返回一个引用,只不过在不同的情况下需要不同的返回值. 那么什么情况下要返回对象的引用呢? 原因有两个: 允许进 ...

  6. volatile和const

    volatile可理解为“编译器警告指示字” volatile用于告诉编译器必须每次去内存中取变量值 volatile主要修饰可能被多个线程访问的变量 volatile也可以修饰可能被未知因数更改的变 ...

  7. android app 内部文件路径

    public class MainActivity extends Activity { final String FILE_NAME = "crazyit.bin"; @Over ...

  8. javaWeb---文件上传(commons-FileUpload组件)

    FileUpload是Apache组织(www.apache.org)提供的免费的上传组件,但是FileUpload组件本身还依赖于commons组件,所以从Apache下载此组件的时候还需要连同co ...

  9. 20145206邹京儒《Java程序设计》课程总结

    20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...

  10. 苹果官方制作MAC OS的启动U盘的步骤

    工具/原料 一个8G或者更大容量的U盘 MAC OS系统镜像DMG文件 方法/步骤 1.打开应用程序 - 使用工具里的磁盘工具,将U盘格式化为MAC OS扩展日志式,名称输入Mavericks,并创建 ...