C#调用外部应用程序
创建者:光脚丫思考
创建时间:7/23/2009 9:30:38 PM
演示说明
此示例演示如何用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);
}
}
}