Запустите консольное приложение из другого консольного приложения

У меня есть консольное приложение (A) C#. Я хочу выполнить другое консольное приложение (B) из приложения A (синхронным способом) таким способом, которым B использует то же окно команд. Когда B существует, A должен быть в состоянии считать код выхода B.

Как сделать это? Мне нужна только эта небольшая подсказка относительно того, как запустить это другое приложение в том же cmd окне.

35
задан Dawid Ohia 2 March 2010 в 20:03
поделиться

4 ответа

Вы можете использовать Process.Start для запуска другого консольного приложения.

Вам нужно будет создать процесс с ProcessStartInfo.RedirectOutput установленным в true и UseShellExecute установленным в false, чтобы иметь возможность использовать вывод самостоятельно.

Затем вы можете прочитать вывод, используя StandardOutput.ReadToEnd на процессе.

35
ответ дан 27 November 2019 в 07:14
поделиться

Заполните System.Diagnostics.ProcessStartInfo Process.Start

Вы можете WaitForExit на полученном процессе, а затем использовать ExitCode свойство процесса, чтобы увидеть возвращаемое значение.

1
ответ дан 27 November 2019 в 07:14
поделиться

Вы можете запустить другой процесс с помощью вызова Process.Start () . Примеры здесь показывают, как читать вывод другого процесса и ждать его завершения.

9
ответ дан 27 November 2019 в 07:14
поделиться

Вы можете запустить другой процесс с помощью Process.Start - неважно, консольное это приложение или нет. Если ваше приложение уже запущено в окне консоли, новое созданное приложение также будет использовать это окно консоли.

var proc = Process.Start( "...path to second app" );
proc.WaitForExit();
var exitCode = proc.ExitCode;

Обязательно подготовьте документацию по классу Process, поскольку существует множество мелких нюансов, которые могут повлиять на способ запуска дополнительного приложения.

4
ответ дан 27 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

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