WaitForInputIdle 函式 (winuser.h)
等候指定的進程完成處理其初始輸入,並等候使用者輸入沒有擱置的輸入,或直到逾時間隔經過為止。
語法
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
參數
[in] hProcess
進程的句柄。 如果此程式是控制台應用程式或沒有消息佇列, WaitForInputIdle 會立即傳回。
[in] dwMilliseconds
超時時間間隔,以毫秒為單位。 如果 dwMilliseconds 為 INFINITE,則函式不會在進程閑置之前傳回。
傳回值
下表顯示此函式的可能傳回值。
傳回碼/值 | 描述 |
---|---|
|
已順利滿足等候。 |
|
等候已終止,因為逾時間隔已過。 |
|
發生錯誤。 |
備註
WaitForInputIdle 函式可讓線程暫停其執行,直到指定的進程完成初始化,並等候使用者輸入,且沒有擱置中的輸入。 如果進程有多個線程, 則 WaitForInputIdle 函 式會在任何線程閑置時立即傳回。
WaitForInputIdle 可以隨時使用,而不只是在應用程式啟動期間使用。 不過, WaitForInputIdle 只會等候一次,讓進程變成閑置;後續 的 WaitForInputIdle 呼叫會立即傳回,不論進程是閑置還是忙碌中。
WaitForInputIdle 可用於同步處理父進程和新建立的子進程。 當父進程建立子進程時, CreateProcess 函式會傳回,而不需要等待子進程完成其初始化。 嘗試與子進程通訊之前,父進程可以使用 WaitForInputIdle 函 式來判斷子系的初始化何時完成。 例如,父進程應該先使用 WaitForInputIdle 函 式,再嘗試尋找與子進程相關聯的視窗。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-misc-l1-1-0 (於 Windows 8) |