У меня есть консольное приложение (A) C#. Я хочу выполнить другое консольное приложение (B) из приложения A (синхронным способом) таким способом, которым B использует то же окно команд. Когда B существует, A должен быть в состоянии считать код выхода B.
Как сделать это? Мне нужна только эта небольшая подсказка относительно того, как запустить это другое приложение в том же cmd окне.
Вы можете использовать Process.Start
для запуска другого консольного приложения.
Вам нужно будет создать процесс с ProcessStartInfo.RedirectOutput
установленным в true
и UseShellExecute
установленным в false
, чтобы иметь возможность использовать вывод самостоятельно.
Затем вы можете прочитать вывод, используя StandardOutput.ReadToEnd
на процессе.
Заполните System.Diagnostics.ProcessStartInfo Process.Start
Вы можете WaitForExit
на полученном процессе, а затем использовать ExitCode
свойство процесса, чтобы увидеть возвращаемое значение.
Вы можете запустить другой процесс с помощью вызова Process.Start ()
. Примеры здесь показывают, как читать вывод другого процесса и ждать его завершения.
Вы можете запустить другой процесс с помощью Process.Start - неважно, консольное это приложение или нет. Если ваше приложение уже запущено в окне консоли, новое созданное приложение также будет использовать это окно консоли.
var proc = Process.Start( "...path to second app" );
proc.WaitForExit();
var exitCode = proc.ExitCode;
Обязательно подготовьте документацию по классу Process, поскольку существует множество мелких нюансов, которые могут повлиять на способ запуска дополнительного приложения.