|  | 
|      | 
|   | 
| Частичная блокировка и разблокировка функций клавиатуры и мышки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 | ||||