#1 26.06.08 00:52
[.NET] Получение данных от запущенного приложения из своего
Приветствую всех!
Задача заключается в следующем: надо запустить консольное приложение из своего приложения, и получать от него все, что оно выводит в консоль. Работаю в .NET.
С запуском приложения я решил проблему следующим образом:
System.Diagnostics.Process.Start()
А вот дальше не могу понять что делать.
Заранее благодарен за толковые ответы по данной теме!!!!
Offline
#4 26.06.08 15:29
Re: [.NET] Получение данных от запущенного приложения из своего
А получится запустить консольное приложение с параметром перенаправления стандартного вывода? Если да, то можно перенаправить в файл и оттуда читать потом
Offline
#5 26.06.08 15:52
Re: [.NET] Получение данных от запущенного приложения из своего
Kosh_Mar, тоже как вариант, но очень медленный.
Если ничего более не найду, тогда так и сделаю.
Хотелось бы без лишнего обращения к хардаку. Я слышал, в System.Diagnostics.Process. есть по потоки для ввода данных и для вывода, но более конкретнее не могу ничего найти про них, элементарно даже имена объектов самих потоков
Исправлено voropay (26.06.08 15:52)
Offline
#6 26.06.08 17:12
Re: [.NET] Получение данных от запущенного приложения из своего
а если перенаправить стандартный вывод того приложения на стандартный ввод своего? %) Вроде можно же? )
Offline
#7 27.06.08 12:01
Re: [.NET] Получение данных от запущенного приложения из своего
В мсдн-е нашел ответ на свой вопрос, может кому полезно будет:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "ping";
process.StartInfo.Arguments = "192.168.0.1";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.WaitForExit();
string str = process.StandardOutput.ReadToEnd();
Console.WriteLine(str);
process.Close();
Для примера открываю ping.exe с параметром "192.168.0.1", со стандартного его потока вывода записываю в строку str все, что что он в поток шлет, и эту строку выдаю на экран
Offline

