函数原型 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。