** Что такое крюк? **
Крюк-это точка в механизме обработки системных сообщений, где приложение может установить подпрограмму для мониторинга трафика сообщений в
системе и обрабатывать определенные типы Сообщений прежде, чем они достигнут целевой оконной процедуры.
Чтобы использовать механизм окна крюк, программа вызывает функцию SetWindowsHookEx() API-интерфейс, передача адреса процедуры hook, которая уведомляется, когда указанное
событие происходит. SetWindowsHookEx() возвращает адрес ранее установленного обработать процедуру для того же типа события. Этот адрес-это важно,
потому что процедуры крючка такого же типа образуют своеобразную цепочку. Windows уведомляет первую процедуру в цепочке при возникновении события,
и каждая процедура отвечает за передачу уведомления. Для этого процедура подключения должна вызвать CallNextHookEx() функции API,
адрес прохождения предыдущей процедуры крюка.
-- >Все системные крючки должны находиться в динамической библиотеке ссылок.
** Тип крюка, используемый в этом примере кода: **
На WH_GETMESSAGE крючок позволяет приложение для мониторинга и перехвата Сообщений о том, чтобы быть возвращены функции getmessage или PeekMessage функции.
Code: |
{
** Hook Dll - WINHOOK.dll ** WINHOOK.dpr |-----WHookInt.pas
** Interface unit ** WHookDef.dpr }
{********** Begin WHookDef.dpr **************}
{ Interface unit for use with WINHOOK.DLL }
unit WHookDef;
interface
uses Windows;
function SetHook(WinHandle: HWND; MsgToSend: Integer): Boolean; stdcall; function FreeHook: Boolean; stdcall;
implementation
function SetHook; external 'WINHOOK.DLL' Index 1; function FreeHook; external 'WINHOOK.DLL' Index 2;
end.
{********** End WHookDef.dpr **************} |
Code: |
{********** Begin Winhook.dpr **************}
{ The project file }
{ WINHOOK.dll } library Winhook;
uses WHookInt in 'Whookint.pas';
exports SetHook index 1, FreeHook index 2; end.
{********** End Winhook.dpr **************} |
- Назад
- Вперёд >>
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!