Форум — Ответы     (  К темам )
 ?  1024byte: CreatePipe + ReadFile проблемы (15-12-2002 16:48:01)
в той же задаче.(см как запустить конслоьное приложение и перехватить его вывод на stdout 10-12-2002) возникли грабли
процесс создался пайп тоже а вот ReadFile не пашет
причём в win98 говорит неверный аргумент
а в XP ващще getlasterror ничего не говорит
то-есть ошибка есть а текста к ней нет

в общем нужен пример CreatePie+ReadFile
если кт-нибуть знает ссылочку киньте плз.
 Devnvd (15-12-2002 19:05:26)
Pipe создаёт проблемы, даже пример из SDK и тот зависает.
Дело в том, что этот механизм нормально работает только когда в консольном приложении производится ввод, а не только вывод. Если же там ввода нет, то будут неприятности. Так как зависание происходит внутри функции ReadFile.
Организовать ввод можно лишь если вы сами будете нажимать клавиши или консольная программа в качестве ввода stdin будет использовать текстовый файл.
То есть другими словами должен быть организован "конец" для закрытия канала Pipе. Эти концом может быть ключевое слово. Когда же консольное приложение просто закрывается мы на другом конце Pipe висим на ReadFile и выйти из него в Win9x не предоставляется возможным. В NT ещё как-то валазит, но это только благодаря многозадачности.
С примерами полная морока. Каждый из них всё-таки подстраивается под конкретную задачу. А в общем случае эти примеры не работают и опасны для системы.