C++调用perl 主线程等待子线程结束

/创建进程调用perl拷贝脚本
 PROCESS_INFORMATION pi;
 STARTUPINFO si;
 ZeroMemory(&si, sizeof(si));
 si.cb = sizeof(STARTUPINFO);
 si.wShowWindow = SW_HIDE;
 si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
 String sPerlCommand =  "perl ";
  sPerlCommand =  sPerlCommand+m_sProjectPath.c_str() + +"GetAllContent.pl";

 //string sPerlCommand = "perl F:\\Project\\拷贝精灵\\新建文件夹\\GetAllContent.pl";
 ///char *p = new char[sPerlCommand.size()];
 //sPerlCommand.copy(p,sPerlCommand.size(),0);
 char *p = sPerlCommand.c_str();
   // Application->MessageBoxA(p,MB_OK);
 BOOL res = CreateProcess( NULL,
       _T(p),
       NULL, NULL, NULL,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);

 if(res)
 {
    WaitForSingleObject(pi.hProcess, INFINITE);
    delete []p;
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
 }

 

你可能感兴趣的:(精灵,新建文件夹)