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.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);
}
页:
[1]