Функция WaitForInputIdle (winuser.h)
Ожидает, пока указанный процесс завершит обработку своих начальных входных данных, ожидает ввода данных пользователем без ожидающих ввода данных или до истечения интервала ожидания.
Синтаксис
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
Параметры
[in] hProcess
Дескриптор процесса. Если этот процесс является консольным приложением или у него нет очереди сообщений, функция WaitForInputIdle возвращается немедленно.
[in] dwMilliseconds
Интервал времени ожидания в миллисекундах. Если dwMilliseconds имеет значение INFINITE, функция не возвращается, пока процесс не будет бездействуем.
Возвращаемое значение
В следующей таблице показаны возможные возвращаемые значения для этой функции.
Возвращаемый код/значение | Описание |
---|---|
|
Ожидание выполнено успешно. |
|
Ожидание было прервано из-за истечения времени ожидания. |
|
Произошла ошибка. |
Комментарии
Функция WaitForInputIdle позволяет потоку приостанавливать выполнение до завершения инициализации указанного процесса и ожидает ввода данных пользователем без ожидания ввода. Если процесс содержит несколько потоков, функция WaitForInputIdle возвращается, как только любой поток становится бездействующий.
WaitForInputIdle можно использовать в любое время, а не только во время запуска приложения. Однако WaitForInputIdle ожидает только один раз, пока процесс не станет бездействующий; последующие вызовы WaitForInputIdle возвращаются немедленно, независимо от того, находится ли процесс в состоянии простоя или занят.
WaitForInputIdle может быть полезен для синхронизации родительского процесса и только что созданного дочернего процесса. Когда родительский процесс создает дочерний процесс, функция CreateProcess возвращает , не дожидаясь завершения инициализации дочернего процесса. Прежде чем пытаться связаться с дочерним процессом, родительский процесс может использовать функцию WaitForInputIdle , чтобы определить, когда была завершена инициализация дочернего элемента. Например, родительский процесс должен использовать функцию WaitForInputIdle , прежде чем пытаться найти окно, связанное с дочерним процессом.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-misc-l1-1-0 (представлено в Windows 8) |