2009-02-27 4 views
5

에서 하나 개의 프로그램을 캡처 :실행하고 C에서 Win32 프로그래밍에서 다른

무슨 다른는 Win32 프로그램 내에서 Win32 콘솔 프로그램을 실행하고, 실행이 출력을 캡처 시작 프로그램이하는 가장 좋은 방법은? 지금은 프로그램이 출력을 파일로 리다이렉트하게 만들었지 만 파이프를 열 수 있어야한다고 확신합니까?

답변

5

CreateProcess Win32 API를 사용하여 하위 프로세스를 시작하십시오. hStdInput, hStdOutputhStdErrorSTARTUPINFO 구조 파일로 설정 핸들 그것에

패스 (중 실제 파일이나 메모리 파일이 작동합니다 매핑)를 열어 처리합니다. 세 가지 모두를 지정할 필요는 없으며, 정말로 필요한 것만 리디렉션 할 수 있습니다. 가장 일반적인 경우는 hStdOutput입니다.

자식 프로세스 (hStdInput 통해)와 통신하려면 WaitForInputIdle을 호출하여 자식 프로세스가 초기화 될 때까지 기다려야합니다.

+0

감사합니다. stdoutput을 메모리 맵 파일로 지정하는 것은 정확하게 제가 수행 한 작업이었습니다. –

관련 문제