2011-02-07 2 views
4

Я хочу создать дочерний процесс и прочитать его stdout асинхронно. Оказывается, мне нужно создать именованный канал для подключения к stdout, поскольку анонимные каналы не поддерживают асинхронные чтения.Асинхронно общайтесь с stdin/stdout дочернего процесса

Я знаю о функциях CreateProcess, CreateNamedPipe, CreateFile и ReadFile, но есть какой-то пример кода, который соединяет их все? Я ослеплен морем параметров.

ответ

0

В основном вы добавляете ручку вашего трубопровода в структуру STARTUPINFO в CreateProcess.

Я думаю, что я использовал этот пример кода перед: http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx

+1

Этот пример кода использует анонимные трубы, которая работает только для синхронного чтения, которые блокировать до тех пор, пока дочерний процесс ничего не выведет. Я бы хотел, чтобы не многопоточный простой файл читал. –

Смежные вопросы