7.5.1.12 - Функция MessageProc

(ПроцедураСообщения)

Подключаемая процедура MessageProc - определяемая программой функция повторного вызова, которую система вызывает после того, как в диалоговом окне, окне сообщений, в меню или линейке прокрутки происходит событие ввода, но перед созданием сообщения об обработке события ввода. Подключаемая процедура может контролировать сообщения диалогового окна, окна сообщений, меню или линейки прокрутки, созданные конкретной прикладной программой или всеми прикладными программами.

Синтаксис

LRESULT CALLBACK MessageProc
(
	int code,		// код hook-точки
	WPARAM wParam,	// не определен
	LPARAM lParam	// адрес структуры с данными сообщения
);

Параметры
code
Определяет тип события ввода, которое генерировало сообщение. Этот параметр может быть одним из следующих значений:

Если code является меньше чем нуль, подключаемая процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей его обработки и должна возвратить значение, возвращенное CallNextHookEx.
wParam
Устанавливает значение ПУСТО (NULL).
lParam
Указывает на структуру MSG
.

Возвращаемые значения
Если подключаемая процедура обрабатывает сообщение, то возвращаемое значение должно быть значением отличным от нуля. Иначе, оно должно быть нуль.

Замечания
Прикладная программа устанавливает подключаемую процедуру, путем определения типа hook-точки как WH_MSGFILTER и ее адреса при вызове функции SetWindowsHookEx.
Если прикладная программа, которая использует DDEML и выполняет синхронные передачи данных, сообщения должны обрабатываться перед тем, как они распределены, она должна использовать hook-точку WH_MSGFILTER.
MessageProc - метка - заместитель для определяемого программой имени функции.

Смотри также
CallNextHookEx, SetWindowsHookEx, MSG

Размещение и совместимость MessageProc

Windows NT				Да 
Win95					Да 
Win32s					Да 
Импортируемая библиотека			Определется пользователем 
Заголовочный файл				winuser.h 
Unicode					Нет 
Замечания по платформе			HOOKPROC

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков.