2012年6月23日 星期六

另一種 system();

就是用 CreateProcess 取代.
不過一般 CreateProcess 是開一個 task 以多工的方式跑另一個執行檔, 和 system() 不一樣, system() 會等待那個執行檔執行結束.

CreateProcess 也可以在該執行檔結束時發一個 event 通知, 像這樣:


    PROCESS_INFORMATION tPI =   { 0 };
    CreateProcess(TEXT("exe.exe"), 0, 0, 0, 0, 0, 0, 0, 0, &tPI);
    WaitForSingleObject(tPI.hProcess, INFINITE);

exe.exe 就是要執行的, 這樣就會無限時等待 exe.exe 執行完畢.

會寫這篇是因為 1.太久沒更新 2.CE 上沒有 system() 可用.

沒有留言: