Win32 API. Hooks (хуки) - Функция ShellProc
ОГЛАВЛЕНИЕ
Функция ShellProc
(ПроцедураОболочки)
Подключаемая процедура ShellProc - определяемая программой или определенная библиотекой функция повторного вызова, которую использует оболочка прикладной программы, чтобы принимать полезные уведомления от системы.
Синтаксис
LRESULT CALLBACK ShellProc
(
int nCode, // код hook-точки
WPARAM wParam, // информация, определяемая событием
LPARAM lParam // информация, определяемая событием
);
Параметры
nCode
Определяет код hook-точки. Этот параметр может быть одним из следующих значений:
- HSHELL_ACTIVATESHELLWINDOW - Оболочка должна активизировать свое главное окно.
- HSHELL_GETMINRECT - Только для Windows 95: окно свертывается или развертывается, а система нуждается в координатах свернутого (минимизированного) прямоугольника окна. Параметр wParam содержит дескриптор окна, а параметр lParam содержит адрес структуры RECT, которая принимает координаты.
- HSHELL_LANGUAGE - Только для Windows 95: язык клавиатуры был изменен, или была загружена новая раскладка символов на клавиатуре.
- HSHELL_REDRAW - Только для Windows 95: заголовок окна в панели задач был перерисован. Параметр wParam содержит дескриптор окна.
- HSHELL_TASKMAN - Только для Windows 95: пользователь выбрал список задач. Параметр wParam не определен и должен игнорироваться. Оболочка прикладной программы, которая предоставляет список задач, должна возвратить значение ИСТИНА (TRUE), чтобы воспрепятствовать Windows запустить список его задач.
- HSHELL_WINDOWACTIVATED - Только для Windows 95: активизация была заменена в другом, не имеющем владельца, окне верхнего уровня. Параметр wParam содержит дескриптор окна.
- HSHELL_WINDOWCREATED - Было создано не имеющее владельца окно верхнего уровня. Окно существует только тогда, когда система вызывает функцию ShellProc.
- HSHELL_WINDOWDESTROYED - Не имеющее владельца окно верхнего уровня собирается быть разрушенным. Окно все еще существует когда система вызывает функцию ShellProc.
Если nCode - меньше чем нуль, подключаемая процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки, а возвратить должна значение возвращенное CallNextHookEx.
wParam
Определяет дополнительную информацию, которую может потребовать оболочка прикладной программы. Если параметр nCode - HSHELL_ACTIVATESHELLWINDOW, то параметр wParam не используется. Если nCode - HSHELL_WINDOWCREATED или HSHELL_WINDOWDESTROYED, wParam определяет дескриптор создаваемого или разрушаемого окна, соответственно.
lParam
Windows 95:
Определяет дополнительную информацию. Точное значение зависит от значения параметра nCode. Если nCode - HSHELL_GETMINRECT, lParam - LPRECT. Если nCode - HSHELL_WINDOWSACTIVATED, lParam - fFullScreen. Если nCode - HSHELL_REDRAW, lParam - fNewFlash.
Windows NT:
Этот параметр должен быть равен нулю.
Возвращаемые значения
Возвращаемое значение должно быть равно нулю.
Замечания
Прикладная программа устанавливает подключаемую процедуру, путем определения типа hook-точки как WH_SHELL и ее адреса при вызове функции SetWindowsHookEx.
ShellProc - метка - заместитель для определяемого программой или определенного библиотекой имени функции.
Смотри также
CallNextHookEx, SendMessage, SetWindowsHookEx
Размещение и совместимость ShellProc
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека Определяется поьзователем
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе HOOKPROC