函式原型
DWORD WaitForInputIdle(
HANDLE hProcess,
DWORD dwMilliseconds
);
函式作用
等待新進程完成它的初始化並等待用戶輸入。
參數
hProcess
[in] 進程的句柄。如果這個進程是一個控制台應用程式或者沒有訊息佇列,函式立刻返回。
dwMilliseconds
[in] 逾時間隔,單位為毫秒。如果 dwMilliseconds 設為 INFINITE,函式會一直等到進程空閒即初始化完成後才返回。
返回值
返回值 | 說明 |
0 | 執行緒初始化成功,等待結束。 |
WAIT_TIMEOUT | 等待強制結束,執行緒初始化超出dwMilliseconds 。 |
WAIT_FAILED | 出錯。會設定GetLastError。 |
說明
該函式可以使一個執行緒掛起,直到規定執行緒初始化完成,等待用戶輸入。這對於父進程和子進程之間的同步是極其有用的,因為CreateProcess函式不會等待新進程完成它的初始化工作。在試圖與子執行緒通訊前,父執行緒可以使用WaitForInputIdle來判斷子執行緒是否已經初始化完成。舉例來說,在試圖與新進程關聯的視窗之前,進程應該先調用WaitForInputIdle。
使用需求
頭檔案:Winuser.h,Windows.h。
程式庫:User32.lib。
DLL需求:User32.dll。