C++外部exeプログラムをブロックして呼び出し、実行終了を待つ

668 ワード

        SHELLEXECUTEINFO ShExecInfo = {0};
        ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
        ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
        ShExecInfo.hwnd = NULL;
        ShExecInfo.lpVerb = L"open";//      "explorer" "print"  
        ShExecInfo.lpFile = EXE_FILE;//exe       
        ShExecInfo.lpParameters = pbuffer;//  
        ShExecInfo.lpDirectory = NULL;
        ShExecInfo.nShow = SW_HIDE;//
        ShExecInfo.hInstApp = NULL;
        ShellExecuteEx(&ShExecInfo);

        WaitForSingleObject(ShExecInfo.hProcess, INFINITE);//                 (  )