Официальный сайт студ.городка НГТУ
Программирование и БД » [.NET] Получение данных от запущенного приложения из своего 

#1  26.06.08 00:52

[.NET] Получение данных от запущенного приложения из своего

Приветствую всех!
Задача заключается в следующем: надо запустить консольное приложение из своего приложения, и получать от него все, что оно выводит в консоль. Работаю в .NET.
С запуском приложения я решил проблему следующим образом:
System.Diagnostics.Process.Start()
А вот дальше не могу понять что делать.
Заранее благодарен за толковые ответы по данной теме!!!!

Offline

#2  26.06.08 05:09

Re: [.NET] Получение данных от запущенного приложения из своего

Рискну предположить :) что можно по хендлу окна консоли перехватывать системные сообщения (WinAPI).
Более конкретно ничего сказать не могу :( увы пока нет знаний в этой области :(

Offline

#3  26.06.08 15:16

Re: [.NET] Получение данных от запущенного приложения из своего

R0mm - Работа осуществляется средствами .NET
по моему нет WM, которые бы отвечали за работу консоли

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

#8  28.06.08 00:25

rzk
Профиль

Re: [.NET] Получение данных от запущенного приложения из своего

voropay, ага, спасибо.

Offline

#9  28.06.08 02:10

Re: [.NET] Получение данных от запущенного приложения из своего

Ну вот, не думал, что кому - то понадобится, значит не зря тему создавал)))

Offline

Программирование и БД » [.NET] Получение данных от запущенного приложения из своего 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.025 сек.
Выполнено 11 запросов.