Win32 API для Process.BeginOutputReadLine - PullRequest
0 голосов
/ 12 мая 2009

Я хотел бы знать эквивалент C ++ для Process.BeginOutputReadLine в c #, где я асинхронно считываю из стандартного вывода другого процесса. Есть ли API для этого?

1 Ответ

1 голос
/ 12 мая 2009

Чтобы прочитать стандартный вывод процесса, необходимо назначить соответствующий дескриптор экземпляру STARTUPINFO, переданному в CreateProcess. Не забудьте включить флаг STARTF_USESTDHANDLES.

Обычно используется анонимный канал, созданный через CreatePipe.

См. " Создание дочернего процесса с перенаправленным вводом и выводом " для примера.

Вы можете использовать обычные подходы Win32 (событие OVERLAPPED +, порт IOCompleteion, ...) для асинхронного чтения дескриптора вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...