0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 40
1

Запуск консольного приложения и считывание с него текста

29.08.2013, 12:45. Показов 1717. Ответов 7
Метки нет (Все метки)

Приветствую всех читающих!
У меня следующая ситуация: есть консольное приложение, которое я запускаю из своего сервиса. Благодаря параметрам, оно запускается в режиме слушания и появляется текст Listening...
Вот его то и не получается получить. хотя когда я запускаю это приложение из командной строки, всё ок.
дебаг показывает, что выполнение проходит успешно p.Start(); тоесть видимо приложение запускается?
C#
1
2
3
4
5
6
7
8
p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C:\\ПУТЬ\\PCATTCP.exe";
p.StartInfo.Arguments = "-c -r -p "+ ttcpPort.ToString();
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
StreamReader myStreamReader = p.StandardOutput;
string output = myStreamReader.ReadToEnd();
но в output пусто... не null а просто пусто - ""
что я делаю не так?
может быть всё таки не запустилось приложение?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2013, 12:45
Ответы с готовыми решениями:

Запуск консольного приложения из другого приложения
Я понимаю, что мой вопрос уже разжеван. Однако точного ответа я пока на него не нашел. У меня...

Запуск консольного приложения
программно запускаем консольку, которая генерирует текстовые файлы output.txt. при первом запуске...

Запуск консольного приложения в потоке
Здравствуйте. Предположим что у меня есть консольное приложение. Для облегчения объяснения...

Тихий запуск консольного приложения
Всем привет! У меня возникла такая проблема: нужно запустить консольное приложение с некоторыми...

7
64 / 63 / 7
Регистрация: 19.03.2013
Сообщений: 207
29.08.2013, 12:56 2
а может надо закрыть поток?
myStreamReader.Close();
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 40
29.08.2013, 12:59  [ТС] 3
в примере на msdn этого не делали

http://msdn.microsoft.com/ru-r... utput.aspx
0
184 / 184 / 29
Регистрация: 14.04.2013
Сообщений: 499
29.08.2013, 13:13 4
C#
1
p.WaitForExit();
А скопировать полностью?
0
64 / 63 / 7
Регистрация: 19.03.2013
Сообщений: 207
29.08.2013, 13:16 5
myStreamReader.ReadLine() работает, наверное проблема в myStreamReader.ReadToEnd()
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 40
29.08.2013, 13:23  [ТС] 6
сделал так.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"C:\ПУТЬ\PCATTCP.exe";
p.StartInfo.Arguments = "-c -r -p "+ ttcpPort.ToString();
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
StreamReader myStreamReader = p.StandardOutput;
// Read the standard output of the spawned process.
string myString = myStreamReader.ReadLine();
Console.WriteLine(myString);
p.WaitForExit();
if (myString.IndexOf("Listening...") != -1)
{
       isReiciving = true;
}
теперь myString вообще null Равен
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 40
14.10.2013, 23:38  [ТС] 7
Хотел бы освежить тему, так как вопрос стал опять актуален. А решения я так и не нарыл..
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 40
15.10.2013, 00:39  [ТС] 8
Для наглядности прилагаю ту самую аппликуху, которую вызываю.
Из коммандной строки вызывается так
PCATTCP.exe -r

и вы увидите текст, который она выводит.

А после попробуйте считать его из своего C# кода...
Вложения
Тип файла: rar PCATTCP.rar (25.8 Кб, 9 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2013, 00:39
Помогаю со студенческими работами здесь

Запуск консольного приложения Windows XP
Добрый день! Уважаемые коллеги подскажите плиз куда копать. На промышленный компьютер...

Запуск консольного приложения из WindowsForm
Есть, написанная на языке C#, форма(Form1, допустим) и консольные проекты(Console1, Console2,...)....

Запуск консольного приложения из формы
Уважаемые пользователи! Нужно запустить консольное приложение из Windows Form, пожалуйста, помогите

Запуск консольного приложения внутри
Нужно запустить консольное приложение внутри моей программы. Это реально сделать ??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru