ShellExecute(NULL, NULL, "some.bat", "para", "c:\", SW_SHOWNORMAL);
othercode
我执行这句命令调用了some.bat
我希望等到some.bat执行完毕前当前exe一直挂起,就是等到some.bat执行完毕再执行后续代码(othercode)请问应当如何实现
小弟在此谢过了

解决方案 »

  1.   

    还是用 CreateProcess 吧用 WaitForSingleObject 等待子进程执行完毕
      

  2.   

    TCHAR cmdLine[80] = _T("cmd.exe /c some.bat para");
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    memset(&si, 0, sizeof(si));
    si.cb = sizeof(si);
    if (CreateProcess(NULL, cmdLine, NULL, NULL, FALSE, 0, NULL, _T("C:\\"), &si, &pi))
    {
    WaitForSingleObject(pi.hProcess, INFINITE);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    }
      

  3.   

    STARTUPINFO si;
        PROCESS_INFORMATION pi; bool bRet = CreateProcess(NULL, "E:\\TEST.BAT", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);高人看一下
    bRet 为false
    谢谢