您的位置:首页 > 其它

在程序A中阻塞式的调用、执行程序B

2015-05-21 21:18 106 查看
在程序A中,需要调用执行程序B,并且要等待B结束后,才返回A继续执行。

即:A --> B -->A

方法

使用CreateProcess 创建进程,使用WaitForSingleObject等待结束信号

代码

[cpp] view
plaincopy

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函数,更简单

[cpp] view
plaincopy

ShellExecuteA(NULL,"open","kinect.exe",NULL,NULL,SW_SHOWNORMAL);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: