本文主要是介绍在程序A中阻塞式的调用、执行程序B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在程序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);
这篇关于在程序A中阻塞式的调用、执行程序B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!