Установите ProcessStartInfo.RedirectStandardOutput
на true
- это перенаправит весь вывод на Process.StandardOutput
, который является потоком, который вы можете прочитать, чтобы найти все выходные сообщения:
ProcessStartInfo process = new ProcessStartInfo
{
CreateNoWindow = false,
UseShellExecute = false,
WorkingDirectory = msPath,
RedirectStandardOutput = true,
FileName = msCompiler,
Arguments = "-p {0} -v / {1}"
.StrFormat(
CurrentSetting.CodeSource,
CurrentSetting.CompileTarget)
};
Process p = Process.Start(process);
string output = p.StandardOutput.ReadToEnd();
Вы также можете использовать событие OutputDataReceived
аналогично тому, что @Bharath K описывает в своем ответе.
Существуют аналогичные свойства / события для StandardError
- вам также нужно будет установить RedirectStandardError
на true
.