Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 058

•  TDictionary Custom Sort  6 161

•  Fast Watermark Sources  5 955

•  3D Designer  8 824

•  Sik Screen Capture  6 298

•  Patch Maker  6 711

•  Айболит (remote control)  6 702

•  ListBox Drag & Drop  5 561

•  Доска для игры Реверси  95 856

•  Графические эффекты  6 930

•  Рисование по маске  6 161

•  Перетаскивание изображений  5 090

•  Canvas Drawing  5 464

•  Рисование Луны  5 178

•  Поворот изображения  4 717

•  Рисование стержней  3 329

•  Paint on Shape  2 571

•  Генератор кроссвордов  3 461

•  Головоломка Paletto  2 771

•  Теорема Монжа об окружностях  3 572

•  Пазл Numbrix  2 340

•  Заборы и коммивояжеры  3 026

•  Игра HIP  1 982

•  Игра Go (Го)  1 903

•  Симулятор лифта  2 256

•  Программа укладки плитки  1 967

•  Генератор лабиринта  2 422

•  Проверка числового ввода  2 097

•  HEX View  2 427

•  Физический маятник  2 054

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Частичная блокировка и разблокировка функций клавиатуры и мышки



Автор: 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;




Похожие по теме исходники

Драйвер клавиатуры под DOS




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте