C#调用外部应用程序
默认分类 2010-08-30 22:45:55 阅读4 评论0 字号:大 中 小 订阅
演示说明
此示例演示如何用C#代码调用记事本程序(Notepad.exe)。主程序等待7秒钟,如果用户没有关闭记事本程序,则主程序强制关闭。
示例代码
using System; using System.Collections.Generic; using System.Text; // 需要引用的命名空间。 using System.Diagnostics; namespace InvokeProgram { class Program { static void Main( string [] args) { // 声明一个程序信息类。 System.Diagnostics.ProcessStartInfo StartInfo = new ProcessStartInfo(); // 设置外部程序名。 StartInfo.FileName = "notepad.exe" ; // 设置外部程序的启动参数(命令行参数)。 StartInfo.Arguments = "HelloWord.txt" ; // 设置外部程序工作目录。 StartInfo.WorkingDirectory = @"C:\" ; // 声明一个程序类。 System.Diagnostics.Process Proc = new Process(); try { // 启动外部程序。 Proc = System.Diagnostics.Process.Start(StartInfo); } catch (System.ComponentModel.Win32Exception e) { Console.WriteLine("系统找不到指定的程序文件。\r{0}" , e); return ; } // 打印出外部程序的开始执行时间。 Console.WriteLine("外部程序的开始执行时间:{0}" , Proc.StartTime); // 等待7秒钟。 Proc.WaitForExit(7000); // 如果这个外部程序没有结束运行则对其强行终止。 if (Proc.HasExited == false ) { Console.WriteLine("由主程序强行终止外部程序的运行!" ); Proc.Kill(); } else { Console.WriteLine("由外部程序正常退出!" ); } Console.WriteLine("外部程序的结束运行时间:{0}" , Proc.ExitTime); Console.WriteLine("外部程序在结束运行时的返回值:{0}" , Proc.ExitCode); } } }