在工程中我要实现一个这样的功能:A进程创建B进程运行,通过B进程结束时返回的错误码进行下一步的流程。
参考了一些网上的代码,最终形成了这样一份绝对可行的方案。A进程:
if(CreateProcess(NULL,m_file,NULL,NULL,TRUE,CREATE_NEW_PROCESS_GROUP|CREATE_DEFAULT_ERROR_MODE,NULL,NULL,&SI,&PI)) { // Wait until child process exits. WaitForSingleObject(PI.hProcess, INFINITE ); GetExitCodeProcess(PI.hProcess, &exitCode); // Close process and thread handles. CloseHandle( PI.hProcess ); CloseHandle( PI.hThread ); if (ID_CANCEL == exitCode) break; }
在B进程中,通过PostQuitMessage(exit),发送WM_QUIT消息,然后通过wparam得到错误码
while( msg.message!=WM_QUIT ) { if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ) { //处理外部消息 TranslateMessage( &msg ); DispatchMessage( &msg ); } else { } } } return msg.wParam;
时间: 2024-10-17 22:39:03