码迷,mamicode.com
首页 > Windows程序 > 详细

[C#网络应用编程]1、对进程的操作

时间:2014-12-05 14:03:17      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   ar   color   os   sp   for   

在.net中,Process类提供了对进程进行管理的各种方法。

一、获取进程集合的方法:

Process[] myProcesses = Process.GetProcesses();  //获取本地计算机所有进程

Process[] myProcesses = Process.GetProcesses(string ip);  //获取远程计算机所有进程

Process[] myProcesses = Process.GetProcessesByName(string name);  //根据名称获取本地计算机所有进程

Process[] myProcesses = Process.GetProcessesByName(string name, string ip);  //根据名称获取本地计算机所有进程

 

1. 对单个进程的一些属性和方法 (假设Process aProcess=myProcesses[0]):

1.1 aProcess.Modules 与该进程有关的一些信息 (假设ProcessModuleCollection modules = aProcess.Modules)

每一个进程都包含这个属性,但并不是每个进程的该属性都能被获取到

该集合的第一个成员等同于MainModule属性

 

1.1.1 MainModule 该进程的主要模块 (假设ProcessModule aModule = aProcess.MainModule)

1.1.1.1 aModule.FileName  该进程的完整路径

1.1.1.2 aModule.ModuleName 该进程模块的名称

1.1.1.3 aModule.FileVersionInfo 该模块的版本信息 (假设FileVersionInfo vInfo = aModule.FileVersionInfo)

1.1.1.3.1 FileVersionInfo.FileVersion 版本

1.1.1.3.2 FileVersionInfo.FileDescription 描述

1.1.1.3.3 FileVersionInfo.Language 语言

 

1.2 aProcess.StartTime  该进程的启动时间

1.3 aProcess.Id 该进程的id

1.4 aProcess.ProcessName 该进程的名称

1.5 aProcess.WorkingSet64 该进程分配的物理内存 (单位字节)

1.6 aProcess.HasExited 返回一个bool值提示是否已停止运行  (必须是对一个已经启动过的进程,如果是刚new出来还没有执行Start()方法的,会卡在那一步无法继续执行)

1.7 aPocess.WaitForInputIdle() 等待新进程完成它的初始化并等待用户输入。

 

二、启动与停止进程

首先创建一个Process实例,并设置相应的StartInfo属性,然后调用该实例的Start()方法,当不希望该进程运行时,调用该实例的CloseMainWindow()或者Kill()方法停止该进程

Process p = new Process();
p.StartInfo.FileName = "NotePad"; //要执行的文件名
p.StartInfo.Arguments = ""; //要传的参数
p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; //设置图形界面打开方式(最大化);
p.Start();
p.WaitForInputIdle(); //等待进程启动完成,确保后面可以获取到相关信息

Thread.Sleep(2000);
//当需要关闭时: p.Kill(); // p.CloseMainWindow();

关于两个停止进程的方法:

如果是图形界面的,调用CloseMainWindow(),放方法与单击图形界面的关闭按钮效果相同,它可能会提示用户是否需要保存数据 (也可以调用Kill()直接退出)

如果没有图形界面,调用Kill(),该方法不会有任何提示,直接停止进程,此期间任何没有保存的数据都会丢失  (强行终止进程,该方法是异步的,因此需要调用该实例的WaitForExit()或者用HasExited属性确认已经退出)

 

[C#网络应用编程]1、对进程的操作

标签:des   style   blog   io   ar   color   os   sp   for   

原文地址:http://www.cnblogs.com/dengshaojun/p/4143390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!