![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Частичная блокировка и разблокировка функций клавиатуры и мышки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 по имени Вот подробное описание кода:
Некоторые примечания к коду:
В целом, этот модуль предоставляет простой способ блокировки и разблокировки клавиатуры и мыши с помощью Windows- hooks. Он может быть полезен в ситуациях, когда вам нужно временно отключить ввод пользователя или ограничить доступ к определенным функциям. Модуль mklu для частичной блокировки и разблокировки функций клавиатуры и мышки позволяет программно включать или выключать клавиатуру и мышку. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |