Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: CL | DM;

Вниз

Всё скрытое когда-нибудь становится явным....   Найти похожие ветки 

 
Митяй2 ©   (2002-07-06 09:33) [0]

Мастера, подскажите как в ловушке клавы
определить что произошло:
- нажали клавишу?
- отпустили клавишу?
- идёт повтор символов, когда клавиша нада

function Key_Hook(Code: integer; wParam: word; lParam: Longint): Longint;stdcall; export;
begin
// если Code>=0, то ловушка может обработать событие
if (Code >= 0) then
begin
if wParam=VK_CONTROL then // Отлавливаем только Ctrl
Begin
if (lParam and KF_UP)=KF_UP then // код отпускания (НЕ ПРОКАНЫВАЕТ!!!!!!!!!!)
begin
....

....

....


 
Митяй2 ©   (2002-07-06 09:48) [1]

Опечатка - идёт повтор символов, когда клавиша нада
Нужно читать - идёт повтор символов, когда клавиша нажата


 
Митяй2 ©   (2002-07-06 11:33) [2]

Всё МАСТЕРА, можете не отвечать сам разобрался методом научного тыка.

В lParam 2-ой байт (нумерация с 0) - scan code,
а биты 6 и 7 в 3-ем байте отвечают за происходящее.

нажатие

if (lParam and $40000000)=0 then <нажатие>
1 1101 0000 0000 0000 0001 (Ctrl, scan=11101)
10 0000 0000 0000 0000 0001 ("d" , scan=100000)


отпускание

if (lParam and $80000000)=$80000000 then <отпускание>
1100 0000 0001 1101 0000 0000 0000 0001
1100 0000 0010 0000 0000 0000 0000 0001



повтор
if (lParam and $80000000)=0 AND (lParam and $40000000)=$40000000 then <повтор>
100 0000 0001 1101 0000 0000 0000 0001
100 0000 0010 0000 0000 0000 0000 0001


 
Митяй2 ©   (2002-07-06 11:34) [3]

И заходите:

http://altnet.ru/~rus

НЕ ПОЖАЛЕЕТЕ! Посмеётесь от души!



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

Текущий архив: 2002.09.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-14256
Igorek
2002-08-08 14:27
2002.09.05
Теория информации


1-13999
Roxtady
2002-08-22 16:48
2002.09.05
Как склеить два Pchar


1-14072
djonny
2002-08-26 22:41
2002.09.05
Как работать с диалогом, находящимся в ресурсе.


8-14178
Pontic
2002-03-27 17:00
2002.09.05
MediaPlayer


14-14232
Sir Alex
2002-08-10 00:19
2002.09.05
Что ето за кодировка? -->