Непрерывное чтение / запись данных с помощью пайпов Win32 - PullRequest
1 голос
/ 10 июля 2010

Я пытаюсь написать программу с графическим интерфейсом для программы командной строки в Win32, используя WinAPI (поэтому, пожалуйста, не MFC).В моей текущей попытке я создаю входной канал и выходной канал для чтения / записи данных.Тем не менее, моя проблема возникает, когда я пытаюсь непрерывно читать из программы или просто писать после однократного чтения из-за того, как я должен "CloseHandle ();"Есть ли хороший способ обойти это, что кто-нибудь может порекомендовать?Мне нужно держать подпроцесс открытым все время, пока я читаю / пишу в него.Возможно, есть лучший способ использования CreatePipe ();и CreateProcess ();сделать это?

С уважением,Деннис М.

Ответы [ 2 ]

1 голос
/ 10 июля 2010

Я не уверен, что полностью понимаю вашу проблему.

Я предполагаю, что вы видели эту статью MSDN (http://msdn.microsoft.com/en-us/library/ms682499(VS.85).aspx) и у вас есть подобный код?

Мне было проще использовать перекрывающиеся порты ввода-вывода и завершения ввода-вывода для обработки каналов, поэтому я написал оболочку для правильного создания каналов (http://www.lenholgate.com/blog/2008/02/process-management-using-jobs-on-windows.html).

1 голос
/ 10 июля 2010

Вам необходимо использовать Асинхронный ввод / вывод .

...