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

Вниз

Hook   Найти похожие ветки 

 
TUser ©   (2003-12-10 12:48) [0]

Надо поставить глобальный хук на нажатие клавиши. Копбинация, допустим Alt(Ctrl,Shift)+G+2, причем 2 нажимается на дополнительной клавиатуре. Как такое сделать?


 
TUser ©   (2003-12-10 17:13) [1]

Точно никто не знает?


 
}{enon ©   (2003-12-10 17:21) [2]

Сам не пробовал, но думаю работает:

1) Ставишь хук на KeyDown и KeyUp
2) Хранишь в переменной текущее состояние Alt"a (или др.)
3) При нажатии другой клафиши определяешь, верное ли состояние Alt"a и если да, то получаешь имя нажатой клавиши ( GetKeyName(Message.lParam, @buffer, buffersize))

Вроде все.


 
TUser ©   (2003-12-10 19:03) [3]

А как определить, что нажата цифирька именно на дополнительной клаве?


 
Юрий Зотов ©   (2003-12-10 19:47) [4]

VK_NUMPAD2

Посмотрите справку API по virtual-key codes и функциям GetKeyState, GetKeyboardState. Не пожалеете (задача упростится).


 
}{enon ©   (2003-12-12 20:04) [5]

Сорри, ошибся. Имя процедуры - GetKeyNameText.


> А как определить, что нажата цифирька именно на дополнительной
> клаве?


Если цифра (напр. 1) нажата на основной клавиатуре, то в buffer будет "1", а если на дополнительной - "Num 1".



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-86383
BKV
2003-12-15 13:03
2003.12.26
Ограничение изменения размеров в design time.


7-86572
Man
2003-08-11 19:43
2003.12.26
как определить серийный номер номер винчестера


3-86294
Dmitriy
2003-12-02 16:48
2003.12.26
Stringgrid или DBGrid


14-86512
raymond
2003-12-04 12:05
2003.12.26
Музыка и программирование


4-86595
lmatveev
2003-11-01 03:14
2003.12.26
Как передать текст в другое приложение