日期:2014-05-17 浏览次数:21308 次
启动一个外部程序:
using System; using System.Collections.Generic; using System.Linq; using System.Text; /* 创建一个进程,并为进程传入需要的参数 * 或者说是启动一个外部程序,并为其传入参数 * 等待退出或者强制关闭 */ namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ////////////声明一个程序信息类,指定启动进程是的参数信息 System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo(); //设置外部程序名 Info.FileName = "notepad.exe"; //设置外部程序的启动参数(命令行参数)为test.txt Info.Arguments = "test.txt"; //设置外部程序工作目录为 C:\ Info.WorkingDirectory = "C:\\"; ///////////声明一个程序类,也就是创建一个进程 System.Diagnostics.Process Proc ; try { // //启动外部程序 // Proc = System.Diagnostics.Process.Start(Info); } catch(System.ComponentModel.Win32Exception e) { Console.WriteLine("系统找不到指定的程序文件。\r{0}", e); return; } //打印出外部程序的开始执行时间 Console.WriteLine("外部程序的开始执行时间:{0}", Proc.StartTime); //等待3秒钟 Proc.WaitForExit(3000); //如果这个外部程序没有结束运行则对其强行终止 if(Proc.HasExited == false) { Console.WriteLine("由主程序强行终止外部程序的运行!"); Proc.Kill(); } else { Console.WriteLine("由外部程序正常退出!"); } Console.WriteLine("外部程序的结束运行时间:{0}", Proc.ExitTime); Console.WriteLine("外部程序在结束运行时的返回值:{0}", Proc.ExitCode); } } }