Частичная блокировка и разблокировка функций клавиатуры и мышкиDelphi , ОС и Железо , КомпьютерЧастичная блокировка и разблокировка функций клавиатуры и мышки
Автор: VID { **** UBPFD *********** by delphibase.endimus.com **** >> Частичная блокировка/разблокировка функций клавиатуры и мышки. Модуль mklu. Mouse and Keyboard Lock/Unlock (c) 2002. Автор модуля VID. vidsnap@mail.ru Модуль предназначен для осуществления частичной блокировки/разблокировки функций клавиатуры и мышки. Procedure KeyBoardOn - разблокировка (включение) клавиатуры Procedure KeyBoardOff - блокировка (выключение) клавиатуры Procedure MouseOn - разблокировка (включение) мышки Procedure MouseOff - блокировка (выключение) мышки Зависимости: windows Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала Copyright: какой-то faq Дата: 3 июня 2002 г. ***************************************************** } unit mklu; interface uses Windows; var m_OldMHook: HHook = 0; k_OldKBHook: HHook = 0; function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall; procedure KeyBoardOn; procedure KeyBoardOff; function MouseHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall; procedure MOUSEON; procedure MouseOff; implementation function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall; begin if code < 0 then Result := CallNextHookEx(k_oldKbHook, code, wparam, lparam) else Result := 1; end; // включение клавы procedure KeyBoardOn; begin if k_OldKbHook <> 0 then begin UnHookWindowshookEx(k_OldKbHook); k_OldKbHook := 0; end; end; // выключение клавы procedure KeyBoardOff; begin k_OldKbHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0); end; function MouseHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall; begin if code < 0 then Result := CallNextHookEx(m_oldMHook, code, wparam, lparam) else Result := 1; end; // включение мышки procedure MOUSEON; begin if m_OldMHook <> 0 then begin UnHookWindowshookEx(m_OldMHook); m_OldMHook := 0; end; end; // выключение мышки procedure MouseOff; begin m_OldMHook := SetWindowsHookEx(WH_MOUSE, @MOUSEHook, HInstance, 0); end; end. Пример использования: uses mklu; {блокировка(LockIt = true) или разблокировка(LockIt= False) клавы} procedure LockUnlockKeyboard(LockIt: Boolean); begin if LockIt then KeyBoardOFF else KeyBoardOn; end; {блокировка(LockIt = true) или разблокировка(LockIt= False) мышки} procedure LockUnlockMouse(LockIt: Boolean); begin if LockIt then MouseOff else MouseOn; end; Статья Частичная блокировка и разблокировка функций клавиатуры и мышки раздела ОС и Железо Компьютер может быть полезна для разработчиков на delphi & pascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |