以下是一个使用CreateProcess()函数的例子: void CreateChildProcessAndWaitUntilDone(const AnsiString& strCmdLine) {
PROCESS_INFORMATION piProcInfo; STARTUPINFO siStartInfo;
// Set up members of STARTUPINFO structure. siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.lpReserved = NULL; siStartInfo.lpReserved2 = NULL; siStartInfo.cbReserved2 = 0; siStartInfo.lpDesktop = NULL; siStartInfo.dwFlags = 0;
// Create the child process. CreateProcess(
NULL, strCmdLine.c_str(), NULL, // process security attributes NULL, // primary thread security attributes 0, // handles are inherited 0, // creation flags NULL, // use parent's environment NULL, // use parent's current directory &siStartInfo, // STARTUPINFO pointer &piProcInfo); // receives PROCESS_INFORMATION
// Wait for the processs to finish DWORD rc = WaitForSingleObject( piProcInfo.hProcess, // process handle INFINITE); }  
|