Waits until the specified process is waiting for user input with no input pending, or until the time-out interval has elapsed.
Syntax
DWORD WINAPI WaitForInputIdle(
__in HANDLE hProcess,
__in DWORD dwMilliseconds
);
Parameters
- hProcess [in]
-
A handle to the process. If this process is a console application or does not have a message queue,
WaitForInputIdle returns immediately.
- dwMilliseconds [in]
-
The time-out interval, in milliseconds. If dwMilliseconds is INFINITE, the function does not return until the process is idle.
Return Value
The following table shows the possible return values for this function.
| Return code/value | Description |
|
0
| The wait was satisfied successfully.
|
|
WAIT_TIMEOUT
| The wait was terminated because the time-out interval elapsed.
|
|
WAIT_FAILED
| An error occurred.
|
Remarks
The
WaitForInputIdle function enables a thread to suspend its execution until the specified process has finished its initialization and is waiting for user input with no input pending. This can be useful for synchronizing a parent process and a newly created child process. When a parent process creates a child process, the
CreateProcess function returns without waiting for the child process to finish its initialization. Before trying to communicate with the child process, the parent process can use
WaitForInputIdle to determine when the child's initialization has been completed. For example, the parent process should use
WaitForInputIdle before trying to find a window associated with the child process.
The
WaitForInputIdle function can be used at any time, not just during application startup.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Header | Winuser.h (include Windows.h) |
| Library | User32.lib |
| DLL | User32.dll |
See Also
CreateProcess
Process and Thread Functions
Synchronizing Execution of Multiple Threads
Send comments about this topic to Microsoft
Build date: 11/6/2008