Вниз
Скачать: CL | DM;

как hook ом отловить нажатие cntrl+q ?   Найти похожие ветки 

← →
Li_   (2004-08-23 12:23) [0]

Помогите разобраться как hook"ом отловить нажатие cntrl+q средствами api?


← →
GrayFace ©   (2004-08-23 14:42) [1]

Не cntrl, а ctrl. Это делается только средствами api.
Хуки - не лучшее решение. Есть 2 варианта без хуков:
1) HotKey - минусы: не работает в некоторых играх, если сочетаний клавишь много, регистрация их всех займет много места.
2) Смотреть по таймеру. Не такой уж плохой вариант. Должен работать везде. Минус - не моймать очень быстрое нажатие на клавишу.
Хуки работают почти всегда. Но они не работают, например, в Morrowind. Прочитай статью hooks здесь. (с помощью поиска) Варианты с хуками:
3) WH_JOURNALRECORD - можно ставить БЕЗ dll. Есть 2 минуса: не ловит нажатия чего-либо с альтом, убирается при нажатии Ctrl+Alt+Del (решение - по таймеру ставить заново).
4) WH_KEYBOARD - минусы: нужна dll, геморрой - приходит около 10 соощений об 1 нажатии на кнопку - надо смотреть на время пришедших сообщений, хранить его глобально. У меня, почему-то, сыплются AV(даже в примерах к статье). Плюс - есть готовый пример в статье.

Я рекомендую первый вариант.


← →
Dimka-gl ©   (2004-08-25 21:27) [2]

GrayFace
Поподробнее вариант №1 плиз


← →
Li_   (2004-08-27 10:25) [3]

Ясное дело, что средствами api, дорогой GrayFace. (Я заметил куда зашел).
Я та как раз и юзаю WH_KEYBOARD. И все нормально ловиться, т.е. в отдельности каждая клавиша ловиться, а вот поймать одновременное нажатие ctrl и q не могу. Возможно, конечно, что не существет способа вообще, тады придеться ловить сначала ctrl, а потом букву, но, кажеться, что должен быть способ отлавливания нажатой клавиши и не отпущенной. Кто реально это знает, пожалуйста вспоможите.


← →
KADAN ©   (2004-08-27 14:37) [4]

может GetKeyState поможет?


← →
Manfred8   (2004-08-30 11:06) [5]

bCtrlKeyDown:=GetAsyncKeyState(VK_CONTROL)Shr((sizeof(SHORT) *   8) - 1);

  if ((kbp.vkCode=VK_ESCAPE and bCtrlKeyDown=1) then // Ctrl+Esc



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.047 c
1-1095518751
Rifo
2004-09-18 18:45
2004.10.03
Таймер без формы.


3-1094179381
_sulent
2004-09-03 06:43
2004.10.03
MS SQL 2005


1-1095258065
atmospheric
2004-09-15 18:21
2004.10.03
Печать из RichEdit (параметры страницы)?


3-1094353055
Новенький
2004-09-05 06:57
2004.10.03
Ключи и индексы


1-1095171547
Vladimir_
2004-09-14 18:19
2004.10.03
Помогите с TreeView




   Наверх