Что нового

Двойное нажатие горячей клавиши

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 705
Простой и надежный способ "отлова" двойного (два раза подряд, быстро) нажатия горячей клавиши. В приведенном ниже примере стоит задержка между нажатиями 250 мс (что бы оно считалось двойным). Для запуска этого примера понадобится незаменимая :smile: библиотека HotKey_17b.au3.


Код:
#Include <HotKey_17b.au3>

Global Const $VK_F12 = 0x7B

Global $Timer = 0

_HotKeyAssign($VK_F12, 'Message', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL, $HK_FLAG_POSTCALL))

While 1
    Sleep(10)
WEnd

Func Message($iKey)
    If $iKey > 0 Then
        If ($Timer) And (TimerDiff($Timer) < 250) Then
            MsgBox(0, 'Hotkey Test Message', 'Hotkey has been pressed!')
            $Timer = 0
            Return
        EndIf
        $Timer = TimerInit()
    EndIf
EndFunc   ;==>Message
 
Верх