开始流程问题

时间:2010-03-01 07:47:21

标签: c# .net visual-studio-2008

我正在使用VSTS 2008 + C#+ .Net 3.5来开发控制台应用程序。我想从我的C#应用​​程序启动一个外部进程(一个exe文件),我想要阻止当前的C#应用​​程序,直到外部进程停止,我还想获得外部进程的返回代码。

任何想法如何实现?感谢一些示例代码。

3 个答案:

答案 0 :(得分:9)

using (var process = Process.Start("test.exe"))
{
    process.WaitForExit();
    var exitCode = process.ExitCode;
}

答案 1 :(得分:2)

    public static String ShellExec( String pExeFN, String pParams, out int exit_code)
    {
        System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(pExeFN, pParams);
        psi.RedirectStandardOutput = true;
        psi.UseShellExecute = false; // the process is created directly from the executable file
        psi.CreateNoWindow = true;

        using (System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi))
        {
            string tool_output = p.StandardOutput.ReadToEnd();
            p.WaitForExit();
            exit_code = p.ExitCode;

            return tool_output;
        }
    }

答案 2 :(得分:1)