Jokerjar
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору library mouse; uses windows, messages, KOL {или dialogs}; var CurrentHook: HHook; function GlobalMouseHook(code: integer; wParam: word; lParam: longword): longword; stdcall; begin if code <> HC_ACTION then begin GlobalMouseHook:=CallNextHookEx(CurrentHook,code,wParam,lparam); Exit; end; if Wparam = WM_MOUSEWHEEL then begin //showmessage('wheel!'); if TWMMouseWheel(Pointer(Lparam)^).WheelDelta > 0 then showmessage('Up') else showmessage('Down'); end; CallNextHookEx(CurrentHook,code,wParam,lparam); GlobalMouseHook:=0; Exit; end; procedure Hook(Flag:Boolean); export; stdcall; Begin IF Flag then begin currentHook:=SetWindowsHookEx(WH_Mouse,@GlobalMouseHook,HInstance,0); end Else Begin UnhookWindowsHookEx(currentHook); currentHook:=0; End; End; exports Hook; begin end. { В екзешнике объявляем процедуру: procedure Hook(Flag:Boolean); stdcall; external 'mouse.dll'; Используем так: Hook(true) - ставим хук, Hook(false) - убираем } | Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 17:12 26-09-2006 | Исправлено: Jokerjar, 18:14 26-09-2006 |
|