Задать вопрос
undermuz
@undermuz
Full-Stack Developer

Как получить вывод cmd.exe с сохранением цвета?

Проблема в том, что через конструкцию:

cmdProcess = new Process();
var procStartInfo = new ProcessStartInfo( "cmd", "/k \"C:\\Program Files (x86)\\Far Manager\\Far.exe\"" );

procStartInfo.RedirectStandardOutput = true;
procStartInfo.RedirectStandardInput = true;
procStartInfo.UseShellExecute = false;

procStartInfo.CreateNoWindow = true;
cmdProcess.OutputDataReceived += ( s, e ) => {
       callbackFn(e.Data + "\n");
};
cmdProcess.StartInfo = procStartInfo;

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


Нельзя получить цвет и нельзя получить вывод с far manager. С winAPi у меня не получилось разобраться - только создать процесс.

Я пробовал через ReadConsoleOutput но в итоге получаю только пустой буфер.

Подскажите как можно получить нормальный вывод?
  • Вопрос задан
  • 431 просмотр
Подписаться 3 Оценить Комментировать
Ответ пользователя Валерий Охотников К ответам на вопрос (2)
Ты запускаешь командную оболочку "cmd.exe" а затем говоришь ей запустить Far, затем читаешь вывод "cmd.exe".
Почему бы сразу не запустить Far и не прочитать его вывод?
Ответ написан