2009-05-23 2 views
2

Возможно ли запустить консольное приложение и вернуть его выводимое содержимое в виде строки на C#?C# Как читать вывод консоли с параметрами

Я хочу, чтобы иметь возможность использовать параметры при запуске консольного приложения:

c:\files\app.exe -a 1 -b 2 -c 3 

ответ

3

Это не ярчайшая вещь, которую я прочитал сегодня, но я могу только предположить, что вы порождая процесс (с Process.Start()?) и хотите вернуть его обратно в вашу программу.

Если да, то Process.StandardOutput - это именно то, что вы ищете. Например:

System.Diagnostics.ProcessStartInfo startInfo = 
    new System.Diagnostics.ProcessStartInfo(@"c:\files\app.exe",@"-a 1 -b 2 -c 3"); 
startInfo.UseShellExecute = false; 
startInfo.RedirectStandardOutput = true; 
Process p = Process.Start(startInfo); 
string output = p.StandardOutput.ReadToEnd(); 
p.WaitForExit(); 
+0

я продолжал получать ошибки от этого говорят, что новый процесс не имеет конструктор, который принимает только один из параметров – 2009-05-23 18:33:42

+0

сожалеем об этом. Починил это. –

+0

Мое приложение не может отображать свое окно, пока не запущен процесс. Когда я его убил, мое приложение показало свое окно с захваченным выходом. Я использую этот код точно так же, как и с еще одним свойством - CreateNoWindow. Как показать мое приложение «нормально»? – Laserson

Смежные вопросы