Страницы

Поиск по вопросам

вторник, 13 ноября 2018 г.

Возможно ли получить текст из cmd после Process.Start?

Можно ли получить текст из cmd после ...
Process _process = new Process ();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "filename"; startInfo.Arguments = "/p /a /c" ;
_process.StartInfo = startInfo; _process.Start();
Попробовал как вы посоветовали но выскакивает ошибка как вы думаете, как можно исправить?
Самое интересное, что вызов срабатывает ...


Ответ

Если речь о получении вывода консольной команды, то попробуйте следующий подход:
startInfo.FileName = "filename"; startInfo.Arguments = "/p /a /c"; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true;
_process.StartInfo = startInfo; _process.EnableRaisingEvents = true; _process.OutputDataReceived += process_OutputDataReceived; _process.Exited += process_Exited;
_process.Start();
Остается только написать обработчики process_OutputDataReceived и process_Exited

Если выхлоп у процесса небольшой и быстрый, то можно просто добавить
startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true;
А потом прочитать весь вывод:
string output = _process.StandardOutput.ReadToEnd();

Комментариев нет:

Отправить комментарий