怎样使用进程
一,使用ProcessStartInfo启动进程:
// 指定启动进程时使用的一组值 System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo() { FileName = "notepad.exe", // 设置外部程序名 Arguments = "test.txt", // 设置外部程序的启动参数(命令行参数)为test.txt WorkingDirectory = @"C:\Users\Administrator\Desktop", // 设置外部程序工作目录为 C:\Users\Administrator\Desktop CreateNoWindow = false, // 获取或设置指示是否在新窗口中启动该进程的值 }; // 声明一个程序类 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(); ////给10毫秒时间停止进程 System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(10)); } else { Console.WriteLine("由外部程序正常退出!"); } Console.WriteLine("外部程序的结束运行时间:{0}", proc.ExitTime); Console.WriteLine("外部程序在结束运行时的返回值:{0}", proc.ExitCode);
二,使用Start(string fileName, string arguments)启动进程:
// 声明一个程序类 System.Diagnostics.Process proc; try { // 启动外部程序 proc = System.Diagnostics.Process.Start("notepad.exe", @"C:\Users\Administrator\Desktop\test.txt"); } 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(); ////给10毫秒时间停止进程 System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(10)); } else { Console.WriteLine("由外部程序正常退出!"); } Console.WriteLine("外部程序的结束运行时间:{0}", proc.ExitTime); Console.WriteLine("外部程序在结束运行时的返回值:{0}", proc.ExitCode);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。