WaitForInputIdle
The WaitForInputIdle
function waits until the given process is waiting for user input with no input
pending, or until the time-out interval has elapsed.
The WaitForInputIdle
function only works with GUI applications. If a console application calls the
function, it returns immediately, with no wait.
DWORD WaitForInputIdle(
HANDLE hProcess, |
// handle to
process |
DWORD dwMilliseconds |
// time-out
interval in milliseconds |
); |
|
Parameters
hProcess
Identifies
the process.
dwMilliseconds
Specifies the
time-out interval, in milliseconds. If dwMilliseconds is INFINITE, the
function does not return until the process is idle.
Return Values
The following
table shows the possible return values:
Value |
Meaning |
0 |
The wait
was satisfied successfully. |
WAIT_TIMEOUT |
The wait
was terminated because the time-out interval elapsed. |
0xFFFFFFFF |
An error
occurred. To get extended error information, use the GetLastError |
Remarks
The WaitForInputIdle
function enables a thread to suspend its execution until a 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.
See Also