創建子進程
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);//第一個參數為要關閉的進程的句柄