C# app & command line
От: Duke_Nuken Украина  
Дата: 01.08.07 17:46
Оценка:
Добрый день.
Вопрос. Вот у меня есть обычной C# приложение.
И мне нужно зарустить командную строку и получить из нее респонс в переменную
тоесть схематически это выглядит примерно так
string response = ShellExec("ping google.com");


тоесть через шелу запускаеться какаято консольная прога (ping это просто как пример)
и ее респонс вычитываеться в строковую переменную. Никаких появляющися консольных окон...

Возможно такое сделать?
http://FreeMusicLib.com — мой сайт с бесплатной музыкой доступной для скачивания
C# app & command line
От: Блудов Павел Россия  
Дата: 02.08.07 02:43
Оценка: 5 (3)
#Имя: FAQ.dotnet.RedirectStandardOutput
Здравствуйте, Duke_Nuken, Вы писали:

D_N>мне нужно запустить командную строку и получить из нее респонс в переменную

D_N>Возможно такое сделать?

Да. ping это консольное приложение, следовательно можно перенаправить его поток вывода.

 Process p = new Process();
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = "MyCulApp.exe";
 p.Start();

 // Вот оно.
 string output = p.StandardOutput.ReadToEnd();

 // Ждём пока доработает
 p.WaitForExit();
... << RSDN@Home 1.2.0 alpha rev. 692>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.