News:

VC = Vox = VoxCommando
EG = EventGhost
WMC = Windows Media Center
WSR = Windows Speech Recognition

Main Menu

Статус триггерных клавиш «Scroll Lock», «Num Lock», «Caps Lock»

Started by John Smith, January 01, 2020, 07:54:46 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

John Smith

Здравствуйте. Как можно узнать состояние триггерных клавиш, таких как «Scroll Lock», «Num Lock», «Caps Lock»? Я пытался использовать Hook-plugin, однако он генерирует событие о нажатии или отпускании клавиш (например, Hook.Scroll или Hook.Scroll.Up), но он не сообщает о состоянии триггреных клавиш «On/Off».

Aniv_D

Quote from: John Smith on January 01, 2020, 07:54:46 AM
Здравствуйте. Как можно узнать состояние триггерных клавиш, таких как «Scroll Lock», «Num Lock», «Caps Lock»? Я пытался использовать Hook-plugin, однако он генерирует событие о нажатии или отпускании клавиш (например, Hook.Scroll или Hook.Scroll.Up), но он не сообщает о состоянии триггреных клавиш «On/Off».

штатными средствами вроде нету возможности проверить состояние клавиш, но есть замечательный плагин питона PY.
вот с Caps Lock для примера тебе.
def get_capslock_state():
    import ctypes
    hllDll = ctypes.WinDLL ("User32.dll")
    VK_CAPITAL = 0x14
    return hllDll.GetKeyState(VK_CAPITAL)
result = get_capslock_state()

последним результатом получишь 0 или 1 (выкл или вкл соответственно)
для других твоих клавиш:
VK_NUMLOCK = 0x90
VK_SCROLL = 0x91

John Smith

Большое спасибо. Закинул ваш скрипт в простенький тест. Всё работает. Теперь мне предстоит более подробно изучить работу с плагином PY. Честно говоря не думал, что для решения такой простой задачи понадобится Python. С Новым Годом вас  :)

Aniv_D

Эт хорошо что и решение оказалось не таким уж и сложным, в пару++ строк кода)
Если возникнут затруднения, то не стесняйся спрашивай))
хорошо когда заинтересовывающихся прибавляется. особенно русскоязычных, а то уж слишком мало нас осталось, все или сами по себе или наигрались и забросили это дело.
и тебя с Новым годом.

jitterjames