News:

HOT TIP! Enable the History Window in the main UI when trying to problem solve. It provides a handy log of what is happening. Roll over lines in the History to get more details.

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