本文来自: 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. Django~NewProject and APP

    New Project 1.新建 django-admin startproject mysite 2.运行 manage.py runserver 8080 New APP 1.manage.py ...

  2. ABAP ole方式对EXCEL进行操作

    DATA: excel    TYPE ole2_object,       workbook TYPE ole2_object,       sheet    TYPE ole2_object,   ...

  3. JS里设定延时:js中SetInterval与setTimeout用法

     js中SetInterval与setTimeout用法 JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操 ...

  4. 转载jQuery图片放大插件[twiPicZoom]

    转载http://xuzhihong1987.blog.163.com/blog/static/26731587201312821725913/ 功能说明: 双击查看大图,鼠标滚动放大缩小,能够切换到 ...

  5. LeetCode 217 Contains Duplicate

    Problem: Given an array of integers, find if the array contains any duplicates. Your function should ...

  6. Spring控制反转与依赖注入(IOC、DI)

    IOC: 反转控制   Inverse Of Control DI:依赖注入 Dependency Injection 目的:完成程序的解耦合 解释:在应用系统的开发过程中,有spring负责对象的创 ...

  7. Hibernate单向一对多对象关系模型映射

    1 hibernate 的对象关系映射 Orm: 类-----表 属性------字段 对象------记录 表:在数据库中存在主外键的关系,反向工厂类是由表生成,在由表生成类的时候,类和类之间存在者 ...

  8. DX使用texconv工具批处理dds格式图片

    texconv D:\png\*.* -o E:\dds -m 5 -f dxt3 -ft dds 上述命令的意思是把D:\png目录下的全部文件(当然可以指定特定格式例如*.png)转换成dds格式 ...

  9. October 4th 2016 Week 41st Tuesday

    Patience! The windmill never strays in search of the wind. 耐心等待!风车从不跑去找风. Sometimes we need to be pa ...

  10. mongoDB 3.0以前版本 - 入门指南、示例

    一.准备工作 1. 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文档:http://www.mongodb.org/displ ...