C# 进程Process基本的操作说明
2014-04-22 16:00
399 查看
public int CallPhoneExe(string arg) //arg为进程的命令行参数 { WaitHandle[] waits =new WaitHandle[2]; //定义两个WaitHandle值,用以控制进程的执行过程 waits[0] = HSTOP; //AutoResetEvent HSTOP = new AutoResetEvent(false); waits[1] = GlobalStop;//AutoResetEvent GlobalStop = new AutoResetEvent(false); int iReturn=0; Process p = new Process();//新建一个进程 p.StartInfo.Arguments = arg; //进程的命令行参数 p.StartInfo.FileName = filepath;//进程启动路径 p.StartInfo.CreateNoWindow = true;//不显示新进程的窗口 p.StartInfo.RedirectStandardOutput = true;//输出重定向 p.StartInfo.RedirectStandardError = true; //Redirect the error ouput! p.StartInfo.UseShellExecute = false; p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; p.EnableRaisingEvents = true; p.Exited += new EventHandler(p_Exited); //进程自然结束后启动p—Exited事件 p.OutputDataReceived += new DataReceivedEventHandler(ChangeOutput);//进程有输出时,启动ChangeOutPut函数 p.Start();//进程启动 p.BeginOutputReadLine(); int hstop = WaitHandle.WaitAny(waits);//启动线程暂停,知道WaitHandle中传来有效信号 switch (hstop)//判断信号是又哪个 { case 0: //进程自然结束 if (p.WaitForExit(2000)) iReturn = p.ExitCode; //获取进程的返回值 else { CloseProcess(); iReturn = -2; } break; case 1: //进程被迫结束 p.Kill();//杀掉进程 if (!p.HasExited) { p.Kill(); } iReturn = -3; break; } HSTOP.Reset(); //HSTOP复位,这个变量指示进程自然结束,每次结束后都得自然复位 p.Close(); //创建的p关闭 return iReturn; } private void p_Exited(object sender, EventArgs e) { HSTOP.Set(); } //输出重定向函数 private void ChangeOutput(object sendingProcess, DataReceivedEventArgs outLine) { if (!String.IsNullOrEmpty(outLine.Data)) //字符串不为空时 MainForm.FireWriteText(outLine.Data,false);//将进程的输出信息转移 }
上述代码基本囊括了对进程Process的操作。在C#工具箱中包括进程这一个组件。
相关文章推荐
- C#操作进程(Process)
- C# 调用word进程操作文档关闭进程
- C#对Excel报表进行操作(读写和基本操作)
- C#之进程 Process.Start()用法举例
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# j基本操作-拷贝文件夹的所有内容到另一个文件夹内: 复制代码 1 public static void CopyDir(string srcPath, string实现文件夹的复制以及删除
- C#对文件操作(基本的读写以及压缩和解压)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- MongoDB+C#基本操作实现
- C#学习笔记----.net操作进程
- android:process为耗资源操作指定一个新进程
- C# 文件流基本操作步骤
- Asp.net/c#+OleDb操作excel文件,基本操作 (一)
- C#编写的OLEDB数据库操作基本类
- c# webservice 的基本操作
- Nosql Mongodb 基本操作说明
- C#网络编程(基本概念和操作) - Part.1
- 进程的基本操作
- C# PageLayoutControl的基本操作
- C#操作注册表——读、写、删除、判断等基本操作 (转)