undermuz
@undermuz
Full-Stack Developer

Как получить нормальный вывод консоли?

cmdProcess = new Process();

var procStartInfo =
	new ProcessStartInfo( "cmd", "/k " );

procStartInfo.RedirectStandardOutput    = true;
procStartInfo.RedirectStandardInput     = true;
procStartInfo.UseShellExecute           = false;
procStartInfo.WindowStyle               = System.Diagnostics.ProcessWindowStyle.Hidden;

procStartInfo.CreateNoWindow = true;

cmdProcess.OutputDataReceived += ( s, e ) => {
	Console.WriteLine( e.Data + "\n" );
};

cmdProcess.StartInfo = procStartInfo;

cmdProcess.Start();
cmdProcess.BeginOutputReadLine();


Этот код возвращает вывод, только при переносе строки.
Как можно получить real-time вывод, например из таких программ как Far Manager ?
Мне скорее всего нужен т.н. screen buffer или что-то типа того

И еще вопрос, как можно послать в такой консольный процесс CTRL+C ?
cmdProcess.StandardInput.Write( msg );

Такой код будет дожидаться окончания вывода команды, а мне нужно чтобы это делалось асинхронно.

Буду рад примерам, ссылкам, мануалам.
Заранее спасибо!
  • Вопрос задан
  • 330 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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