запустите проблему процесса

Я использую 2008 VSTS + C# +.Net 3.5 для разработки консольного приложения. И я хочу запустить внешний процесс (EXE-файл) из моего приложения C#, и я хочу, чтобы текущее приложение C# было заблокировано до внешних остановок процесса, и я также хочу получить код возврата внешнего процесса.

Какие-либо идеи, как реализовать это? Цените если некоторые примеры кода.

6
задан jessehouwing 29 December 2016 в 19:35
поделиться

3 ответа

    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
ответ дан 9 December 2019 в 20:42
поделиться

всю необходимую документацию вы найдете здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics .processstartinfo (VS.80) .aspx

1
ответ дан 9 December 2019 в 20:42
поделиться
using (var process = Process.Start("test.exe"))
{
    process.WaitForExit();
    var exitCode = process.ExitCode;
}
9
ответ дан 9 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: