博客园  :: 首页  :: 联系 :: 管理

通过C#程序调用外部程序

Posted on 2005-11-14 15:32  sunrack  阅读(307)  评论(0编辑  收藏  举报
在整个程序中 System.Diagnostics.Process.Start(Info) 为主要语句。 

如果只是单独执行一个外部程序,可用一条如下代码即可: 
System.Diagnostics.Process.Start(  "外部程序名","启动参数"); 
 
using System; 
 
class test 

static void Main() 

 
//声明一个程序信息类 
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStart 
Info(); 
 
//设置外部程序名 
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);