WaitForInputIdle 函式 (winuser.h)

等候指定的進程完成處理其初始輸入,並等候使用者輸入沒有擱置的輸入,或直到逾時間隔經過為止。

語法

DWORD WaitForInputIdle(
  [in] HANDLE hProcess,
  [in] DWORD  dwMilliseconds
);

參數

[in] hProcess

進程的句柄。 如果此程式是控制台應用程式或沒有消息佇列, WaitForInputIdle 會立即傳回。

[in] dwMilliseconds

超時時間間隔,以毫秒為單位。 如果 dwMilliseconds 為 INFINITE,則函式不會在進程閑置之前傳回。

傳回值

下表顯示此函式的可能傳回值。

傳回碼/值 描述
0
已順利滿足等候。
WAIT_TIMEOUT
等候已終止,因為逾時間隔已過。
WAIT_FAILED
發生錯誤。

備註

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)

另請參閱

CreateProcess

處理序和執行緒函式

同步處理多個線程的執行