Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2011, 03:48   #1
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию работа с чужим консольным окном C#

Возникла такая заморочка:
на шарпе написана небольшая софтинка, которая через Process запускает другую программу, выдает ей входные данные (через перенаправление потоков ввода/вывода) и получает результат.

Проблема в чем - необходима проверка таймаутов. Например - на ввод дал слишком большие параметры и программа (с которой идет работа) долго считает и ничего не выводит). Как можно отловить такие случаи (к примеру если в течение 5 секунд программа ничего не пишет, то выдать ошибку)

пробовал:
1) сравнение StreamReader.BaseStream с null
2) BaseStream у него не дает выставить встроенные таймауты вывода и не дает посмотреть размер потока
3) StreamReader.EndOfStream как и ReadLine просто вешают программу без выбрасывания ошибок

Код:
            testProg.StartInfo.RedirectStandardInput = true;
            testProg.StartInfo.RedirectStandardOutput = true;
            testProg.StartInfo.FileName = "test.exe";
            testProg.StartInfo.UseShellExecute = false;
            testProg.StartInfo.CreateNoWindow = true;
            testProg.Start();
            StreamReader sr = testProg.StandardOutput;
            StreamWriter sw = testProg.StandardInput;
            Thread.Sleep(5000);
                if (sr.ReadLine().Length==0)
                    return TS_TIMEOUT;
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с чужим окном W0LF Общие вопросы Delphi 14 13.05.2014 11:18
Работа со сторонним консольным приложением Recart Общие вопросы Delphi 3 01.12.2010 01:22
Работа с чужим окном определенного заголовка Marsel737 Общие вопросы Delphi 12 08.12.2009 23:11
Работа с чужим приложением ERASERROR Win Api 2 28.01.2008 15:22
работа с чужим окном RammFan Win Api 1 18.01.2007 20:21