进程 等待 关闭 ShellExecuteEx WaitForSingleObject


void __fastcall TForm1::Button1Click(TObject *Sender)
{
    SHELLEXECUTEINFO   sei;
    ZeroMemory(&sei,   sizeof(SHELLEXECUTEINFO));
    sei.cbSize   =   sizeof(SHELLEXECUTEINFO);
    sei.fMask    =   SEE_MASK_NOCLOSEPROCESS;
    sei.hwnd     =   NULL;
    sei.lpVerb   =   NULL;
    sei.lpFile   =   "Calc.exe ";
    sei.lpParameters   =   " ";
    sei.lpDirectory    =   NULL;
    sei.nShow          =   SW_SHOW;
    sei.hInstApp       =   NULL;
    ShellExecuteEx(&sei);
    WaitForSingleObject(sei.hProcess,INFINITE);
    TerminateProcess(sei.hProcess,0);
    ShowMessage("Calc已经关闭,继续运行...") ;

    //可以用CreateProcess函数去完成
}

你可能感兴趣的:(C++builder)