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

源作者:追风 人气:6038

/*
* 编程语言:Visual Studio .NET C# (Beta 2)
* 功    能:通过C#程序调用 Windows 记事本程序 编辑一个
* 名为 test.txt 的文本文件。
*
* 在整个程序中 System.Diagnostics.Process.Start(Info)
* 为主要语句。
* 如果只是单独执行一个外部程序,可用一条如下代码即可:
* System.Diagnostics.Process.Start(
* "外部程序名","启动参数");
*/

using System;

class test
{
    static void Main()
    {
        //声明一个程序信息类
        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);
    }
}
Contributors: FHL