// Start the child process.
if (!CreateProcess(NULL, // No module name (use command line)
cmdLine,// Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi)) // Pointer to PROCESS_INFORMATION structure
{
return -1;
}
// Wait until child process exits.
WaitForSingleObject(pi.hProcess, INFINITE);
// Close process and thread handles.
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
i.e. set the HANDLE hStdOutput parameter of STARTUPINFO.
The handle you give it should be the handle returned from CreateFile (misleading name, can be used to open an existing file or create a file, just like fstream).