Скиньте исходник или код
Как заблокировать клавиши на клавиатуре или мыши?
Страница: 1
Сообщений 1 страница 6 из 6
Поделиться22008-01-09 17:05:18
тебе все клавиши или какие - то конкретно?
Поделиться32008-01-09 17:07:18
И все и отдельно надо
Поделиться42008-01-09 17:11:33
вот должно помочь
:cool:
Код:
{ Модуль предназначен для осуществления частичной блокировки/разблокировки функций клавиатуры и мышки. Procedure KeyBoardOn - разблокировка (включение) клавиатуры Procedure KeyBoardOff - блокировка (выключение) клавиатуры Procedure MouseOn - разблокировка (включение) мышки Procedure MouseOff - блокировка (выключение) мышки ***************************************************** } 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;
P.S. только я прошу тебя используй этот модуль в мирных целях!
Поделиться52008-01-09 17:25:30
Спасибо завтра проверю
Поделиться62008-01-09 19:08:15
Попробуй function BlockInput(fBlock: boolean): boolean; из user32.dll. Блокирует все и сразу, но у меня в Висте почему-то были AV. Пока не разобрался, но в XP все работало на ура.
http://msdn2.microsoft.com/en-us/library/ms646290.aspx
Страница: 1