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

Советы » Компьютер » Частичная блокировка и разблокировка функций клавиатуры и мышки

{ **** 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

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com