Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

STDOUT и консольные приложения   Найти похожие ветки 

 
Zaratustra ©   (2003-11-30 15:02) [0]

Добрый день, мастера!
Такая проблема, у меня программа запускает ф-цией ShellExecute консольное приложение в режиме SW_HIDE. В процессе работы этого приложения могут возникнуть ошибки и его работа будет аварийно завершена. Как я могу узнать из главной программы, какие именно ошибки возникли? Сами ошибки и их причины выводятся программой на консоль перед ее завершением. Может, зная хендл окна(а мы его знаем) можно как-то перехватить консольный STDOUT и дальше просто работа со строками? Если так можно, то просто скажите как его перехватить.

Заранее благодарен!


 
Evgeny V ©   (2003-12-01 06:28) [1]

Как вариант - использовать CreateProcess и СreatePipe(//Createpipe (hReadPipe, hWritePipe, @SecAttr, 0)
)
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.hStdOutput := hWritePipe;
StartupInfo.hStdInput := hReadPipe;
StartupInfo.dwFlags := STARTF_USESTDHANDLES +
STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_HIDE;
Можешь считывать данные из StdOutput и анализировать или выводить в свое окно.


 
Polevi ©   (2003-12-01 11:44) [2]

в FAQ есть пример, там контролируется ввод-вывод cmd.exe (или command.com в зависимости от версии win)



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-53728
Daniel
2004-01-28 20:31
2004.02.17
SIMM-SIMM отдайся! Отдастся или нет?


1-53529
][ncognito
2004-01-31 00:12
2004.02.17
Как распечатать таблицу?


1-53634
ser_ega
2004-02-09 00:08
2004.02.17
Прорисовка


14-53731
хз
2004-01-23 13:30
2004.02.17
Продолжение истории противостояния...


7-53797
роман
2003-12-02 20:35
2004.02.17
Вопрос и по алгоритмизации и по железу