Функция обратного вызова ForegroundIdleProc
Определяемая приложением или библиотекой функция обратного вызова, используемая с функцией SetWindowsHookExA/SetWindowsHookExW . Система вызывает эту функцию всякий раз, когда поток переднего плана находится в состоянии простоя.
Синтаксис
DWORD CALLBACK ForegroundIdleProc(
_In_ int code,
DWORD wParam,
LONG lParam
);
Параметры
code [in]
Тип: intЕсли кодHC_ACTION, процедура перехватчика должна обработать сообщение. Если код меньше нуля, процедура перехватчика должна передать сообщение функции CallNextHookEx без дальнейшей обработки и возвращать значение, возвращаемое CallNextHookEx.
wParam
Тип: DWORDЭтот параметр не используется.
lParam
Тип: LONGЭтот параметр не используется.
Возвращаемое значение
Тип:****
Тип — DWORD
Если код меньше нуля, процедура перехватчика должна возвращать значение, возвращенное CallNextHookEx.
Если код больше или равен нулю, настоятельно рекомендуется вызвать CallNextHookEx и вернуть возвращаемое значение. В противном случае другие приложения, которые установили WH_FOREGROUNDIDLE перехватчиков, не будут получать уведомления о перехватчиках и в результате могут работать неправильно. Если процедура перехватчика не вызывает CallNextHookEx, возвращаемое значение должно быть равно нулю.
Комментарии
Тип HOOKPROC определяет указатель на эту функцию обратного вызова. ForegroundIdleProc — это заполнитель для имени определяемой приложением или библиотекой функции.
Приложение устанавливает эту процедуру перехватчика, указывая тип перехватчика WH_FOREGROUNDIDLE и указатель на процедуру перехватчика в вызове функции SetWindowsHookExA/SetWindowsHookExW .
При обработке этой функции обратного вызова избегайте вызова функций, которые извлекают сообщения окна из очереди сообщений вызывающего потока. К ним относятся GetMessage, PeekMessageA/PeekMessageW, модальное диалоговое окно и функции COM. Вызов таких функций может привести к тому, что поток не возвращается из GetMessage или WaitMessage , если в очереди сообщений вызывающего потока есть сообщения.
Требования
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
Winuser.h (включая Windows.h) |
См. также раздел
Справочные материалы
SetWindowsHookExA/SetWindowsHookExW
Основные понятия