天天看点

VC++ 控制另一个程序开始运行并等待完成

 PROCESS_INFORMATION pi;

 STARTUPINFO si;

 si.cb = sizeof(STARTUPINFO);

 si.lpReserved = NULL;

 si.lpDesktop = NULL;

 si.lpTitle = NULL;

 si.dwFlags = STARTF_USESHOWWINDOW;

 si.wShowWindow = SW_HIDE;

 si.cbReserved2 = NULL;

 si.lpReserved2 = NULL;

 DWORD dwExitCode;

 //创建需要运行的程序进程

 BOOL ret = CreateProcess(_T("D://C++//Test.exe"), NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);

 if(ret)

 {

  CloseHandle(pi.hThread);

  WaitForSingleObject(pi.hProcess, INFINITE);

  GetExitCodeProcess(pi.hProcess ,&dwExitCode);

  CloseHandle(pi.hProcess);

 }