9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
|
||||||
1 | ||||||
Отловить двойное нажатие клавиши вне формы21.07.2014, 03:44. Показов 2376. Ответов 3
Метки нет (Все метки)
Есть программа в трее, есть глобальный хук, который, при нажатии на клавишу, разворачивает ее. Хук может отловить нажатие одной клавиши KeyDown и KeyUp. Как мне в текущих обстоятельствах отловить именно быстрое двойное нажатие клавиши? Как я понимаю, при нажатии нужной кнопки нужно запустить некий таймер на ~пол секунды и при повторном нажатии клавиши это будет расцениваться как двойное нажатие. Интересует реализация этого таймера или что-то наподобие его)
Добавлено через 43 минуты сделал уже. Вот пару процедур связанные с кликом
0
|
21.07.2014, 03:44 | |
Ответы с готовыми решениями:
3
Создание HotKeys (Отловить нажатие клавиши Esc) Отловить нажатие клавиши клавиатуры из другого аккаунта Windows Не могу отловить нажатие клавиши Delete Отловить нажатие левой клавиши мыши вне своего приложения |
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
21.07.2014, 05:49 | 2 | |||||
Сообщение было отмечено goremukin как решение
Решение
По-моему, таймер здесь лишний. Запоминаешь момент времени, когда кнопка была отпущена (первое нажатие) и сравниваешь со временем,когда была нажата (второе нажатие). Если разница во времени меньше заданного интервала — значит, двойное нажатие. Псевдо-код:
1
|
9 / 9 / 1
Регистрация: 28.02.2013
Сообщений: 208
|
|
21.07.2014, 11:01 [ТС] | 3 |
Вот такая мысль тоже была, но я не был уверен, что DateTime точный до миллисекунд. Спасибо, так гораздо проще
0
|
Master of Orion
|
||||||
21.07.2014, 15:20 | 4 | |||||
Сообщение было отмечено goremukin как решение
Решение
goremukin, там точность около 50-100 мс по-моему. Для дабл клика обычно достаточно, хотя не всегда (задержка в 100 мс в онлайн-игре очень заметна).
Добавлено через 1 минуту чтобы получить точное время, используйте такой код:
тут точность в сотни наносекунд по-моему.
1
|
21.07.2014, 15:20 | |
21.07.2014, 15:20 | |
Помогаю со студенческими работами здесь
4
Двойное нажатие клавиши Отловить нажатие клавиши Отловить нажатие клавиши в консоли Как в консольном приложении отловить нажатие определённой клавиши? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |