在程序A中,需要调用执行程序B,并且要等待B结束后,才返回A继续执行。
即:A --> B -->A
方法
使用CreateProcess 创建进程,使用WaitForSingleObject等待结束信号
代码
HANDLE hNewProcess= NULL;
STARTUPINFOA si = { sizeof(si) };
PROCESS_INFORMATION piProcess;
BOOL ret =CreateProcessA("b.exe",NULL,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&piProcess);
if(ret == TRUE)
hNewProcess = piProcess.hProcess;
//等待进程结束
WaitForSingleObject(hNewProcess,INFINITE);
注:如果不需要阻塞,可使用ShellExecuteA函数,更简单
ShellExecuteA(NULL,"open","kinect.exe",NULL,NULL,SW_SHOWNORMAL);