Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Внизкак 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c