日期:2014-05-17  浏览次数:21297 次

c#启动一个外部程序

启动一个外部程序:

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);
        }
    }
}


 

1楼cjr15233661143昨天 20:52
要是有点注释就更好啦