Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

Помогите заблокировать клавиатуру   Найти похожие ветки 

 
Igi   (2005-10-18 00:58) [0]

Вот никак немогу зделать сие чудо :(

Пробовал так

  i := 0;
  g := 0;
  repeat
    inc(i);
    inc(g);
    RegisterHotKey(0, g, 0, i);
    inc(g);
    RegisterHotKey(0, g, MOD_ALT, i);
    inc(g);
    RegisterHotKey(0, g, MOD_CONTROL, i);
    inc(g);
    RegisterHotKey(0, g, MOD_SHIFT, i);
    inc(g);
    RegisterHotKey(0, g, MOD_WIN, i);
  until i > 255;


Блокируется - но если другое приложение использует хоткеи то непомогает.

Пробовал через хук

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.const
WH_KEYBOARDHOOK  equ WM_USER+6
.data
hInstance dd 0

.data?
hHook dd ?
hWnd dd ?

.code
DllEntry proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD
push hInst
pop hInstance
     mov  eax,TRUE
     ret
DllEntry Endp

KeyProc proc nCode:DWORD,wParam:DWORD,lParam:DWORD
invoke CallNextHookEx,hHook,0,0,0
mov eax, 1
ret
KeyProc endp

InstallHook proc hwnd:DWORD
push hwnd
pop hWnd
invoke SetWindowsHookEx,WH_KEYBOARD,addr KeyProc,hInstance,NULL
mov hHook,eax
ret
InstallHook endp

UninstallHook proc
invoke UnhookWindowsHookEx,hHook
ret
UninstallHook endp

End DllEntry


Тоже помогло - но не очень, многие комбинации клавишь работают...

Масера, посоветуйте что-нибудь.


 
GanibalLector ©   (2005-10-18 01:00) [1]

А зачем все клавиши блокировать??? Вирусмейкер? Дык тогда на xakep.ru


 
Igi   (2005-10-18 01:00) [2]

Или может быть возможно сбросить чужие хоткеи - тогда первый способ должен заработать... скажите, такое возможно, очень нужно - бьюсь уже давно - а ничего неполучается :(


 
Германн ©   (2005-10-18 01:33) [3]

2 Igi   (18.10.05 00:58)
Интересно бы привести перечень "откуда и что ты содрал"? :)


 
Igi   (2005-10-18 01:50) [4]

2 Германн ©   (18.10.05 01:33) [3]

К первый код  - логическое продолжение этой статьи
http://delphiworld.narod.ru/base/hook_key_down.html

А каркас для хука брал тут
http://wasm.ru/article.php?article=1001024


 
Idx ©   (2005-10-18 05:58) [5]

aincity.narod.ru


 
Igi   (2005-10-18 09:59) [6]

Спасибо! Из приведенного на сайте исходника понял что нужно писать в
$64 порт $AE - для включения и $AD - для отключения клавы...
Буду пробовать, у меня в программе как раз используется драйвер с выходом в ring0...


 
Игорь Шевченко ©   (2005-10-18 10:32) [7]


> Буду пробовать, у меня в программе как раз используется
> драйвер с выходом в ring0...


Афигеть какие вирусы пошли...


 
Igi   (2005-10-18 11:02) [8]

Это не вирус - это нужно для защиты от скриншотмейкеров - чтобы горячие клавиши отрубить... конечно во многих таких программах используются таймеры - но о них не все юзеры знают :)


 
Игорь Шевченко ©   (2005-10-18 11:06) [9]

Igi   (18.10.05 11:02) [8]


> Это не вирус - это нужно для защиты от скриншотмейкеров


А...фотографировать цифровым фотоаппаратом уже не модно стало ?


 
Igi   (2005-10-18 11:14) [10]

Длинющее окно - это много фоток надо - потом мучаться склеивать и выравнивать... да и распознавать потом нужно...

Такая защита лучше чем вообще без неё. Да и если брать людей живущих дальше столичных окраин - цифровик есть не у каждого...


 
Fay ©   (2005-10-18 17:39) [11]

2 Igi   (18.10.05 11:14) [10]
http://www.faststone.org/FSCaptureDetail.htm



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
2-1133310198
Диалог
2005-11-30 03:23
2005.12.18
Какие параметры надо выставить в TOpenDialog, чтобы выбрать неско


2-1133380429
неважно
2005-11-30 22:53
2005.12.18
SizeOf


14-1132562930
Igorek
2005-11-21 11:48
2005.12.18
Фильмы на тему ИИ


2-1133438246
Vis74
2005-12-01 14:57
2005.12.18
Создание резервной копии приложения - ( *.exe.bak)


4-1129707209
kolos_rus
2005-10-19 11:33
2005.12.18
Блокировка клавиатуры и мыши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский