WaitForInputIdle功能等待直到给定进程正在等待用户输入,没有输入挂起,或直到超时间隔过去。
WaitForInputIdle功能仅适用于GUI应用程序。如果控制台应用程序调用该函数,它将立即返回,不用等待。
DWORD WaitForInputIdle(
HANDLE 【hProcess】, | //处理进程 |
DWORD 【dwMilliseconds】 | //超时间隔(以毫秒为单位) |
); |
参数
【hProcess】
标识过程。
【dwMilliseconds】
指定超时间隔(以毫秒为单位)。如果【dwMilliseconds】为INFINITE,该函数在进程空闲之前不会返回。
返回值
下表显示了可能的返回值:
值 | 含义 |
0 | 等待满意成功。 |
WAIT_TIMEOUT | 由于超时间隔已经过去,等待被终止。 |
0xFFFFFFFF | 发生错误要获取扩展错误信息,请使用GetLastError功能。 |
备注
WaitForInputIdle函数使线程能够暂停其执行,直到指定的进程完成初始化并等待用户输入,而没有输入挂起。这对于同步父进程和新创建的子进程可能很有用。当父进程创建一个子进程时,CreateProcess函数返回而不等待子进程完成其初始化。在尝试与子进程进行通信之前,父进程可以使用WaitForInputIdle来确定子进程的初始化是否已完成。例如,在尝试查找与子进程关联的窗口之前,父进程应使用WaitForInputIdle.
可以随时使用WaitForInputIdle功能,而不仅仅是在应用程序启动期间。
也可以看看