MFC中关于子进程创建和关闭操作
创建子进程
PROCESS_INFORMATION ProcessInfo; STARTUPINFO StartupInfo; //This is an [in] parameter ZeroMemory(&StartupInfo, sizeof(StartupInfo)); StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field //processHandle = CreateProcess(_T(".\\MyTwain\\Debug\\MyTwain.exe"), NULL,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo); if(CreateProcess(_T(".\\MyTwain\\Debug\\MyTwain.exe"), NULL,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo)) { // hProcess = GetCurrentProcess(); KillTimer(1); SetTimer(1,1000,NULL); //WaitForSingleObject(ProcessInfo.hProcess,INFINITE); //CloseHandle(ProcessInfo.hThread); //CloseHandle(ProcessInfo.hProcess); //MessageBox(_T("1")); //HANDLE MyProcess = GetCurrentProcess(); //TerminateProcess(ProcessInfo.hProcess, 0); } else { MessageBox(L"The process could not be started..."); }
关闭子进程:
在类视图-》CXXXDlg函数点击鼠标右键-》消息-》WM_DESTROY,添加ondestory函数
TerminateProcess(ProcessInfo.hProcess,0);//第一个参数为要关闭的进程的句柄