1 (изменено: AlexLF, 2023-12-04 19:29:10)

Тема: AHK: Нажатие на кнопку с KeyCode 91

У меня на новой клавиатуре есть кнопка, где изображен замочек. При нажатии на нее она блокирует систему. Т.е. делает то же, что Windows-L. Мне это не надо.

Я хочу ее заблокировать или назначить ей другие функции. Как она называется, я не знаю. Знаю только (посмотрел в определителе кнопок allcalc.ru/node/1975), что ее KeyCode = 91. В списках кнопок ее не нашел.

Как сделать, чтобы было типа:

Key(91):: Esc

?

2 (изменено: AlexLF, 2023-12-04 20:48:14)

Re: AHK: Нажатие на кнопку с KeyCode 91

С помощью "Key history and script info" vk и sk это клавиши не ловится. Отсутствует в списке нажатых клавиш...

3 (изменено: m00slim25, 2023-12-04 20:55:14)

Re: AHK: Нажатие на кнопку с KeyCode 91

91 - это десятичное значение виртуального кода кнопки Левый Win (vk5B).
Это может говорить о том, что у самой кнопки с замочком нет кода. Она просто вызывает макрос, который программно нажимает LWin-L.
Эту «пакость» может делать либо какой то софт, предустановленный производителем ноутбука, либо это может происходить прямо на уровне прошивки ноутбука.
Покопайтесь в программах, запущенных резидентно, может что то и удастся обнаружить.
Потому что заблокировать комбинацию Win-L нет возможности - это системная комбинация, и Windows перехватывает её самостоятельно, не давая к ней доступ ни одной программе, кроме тех что запущены на уровне ядра ОС или драйверов.

4 (изменено: DestroyerCode, 2023-12-04 22:15:08)

Re: AHK: Нажатие на кнопку с KeyCode 91

Попробуй использовать скрипт, чтобы узнать название кнопки.
Но это не 100% результат, потому что в базе HotKey, возможно, не будет данной кнопки, но пробовать стоит.


Gui, Add, Hotkey, w150 h20 vHotkey
Gui, Add, Button, x60 w50 h30 gKeyInfo, ОК
Gui, Show
return

KeyInfo:
Gui, Submit, NoHide,
MsgBox, %HotKey%
return

А чтобы заблокировать кнопку, можно использовать.


KeyBlockOn := !KeyBlockOn
#If KeyBlockOn
*NumPad5:: ; кнопка для примера

5

Re: AHK: Нажатие на кнопку с KeyCode 91

DestroyerCode пишет:

Попробуй использовать скрипт, чтобы узнать название кнопки.

Бессмысленное занятие.
Видно же, что у кнопки нет своего кода - в WinAPI отдаётся код кнопки LWin при первом же нажатии.

DestroyerCode пишет:

Но это не 100% результат, потому что в базе HotKey, возможно, не будет данной кнопки, но пробовать стоит.

Какой ещё базе HotKey ?! Вызовы функций WinAPI - есть, а базы никакой и в помине нет.

DestroyerCode пишет:
+ открыть спойлер

Gui, Add, Hotkey, w150 h20 vHotkey
Gui, Add, Button, x60 w50 h30 gKeyInfo, ОК
Gui, Show
return

KeyInfo:
Gui, Submit, NoHide,
MsgBox, %HotKey%
return

Поле типа Hotkey для Gui не работает с кнопками Win.
https://i.imgur.com/rwE7hGt.png

6

Re: AHK: Нажатие на кнопку с KeyCode 91

К сожалению, не получается поймать код кнопки "Lock PC".

Но, кажется, он нажатие кнопки "L" ловит. Когда я нажимаю Alt-LockPC, скрипт показывает сначала "Alt+L", затем "!д".

То есть, вероятно, клавиатура сама кодирует сочетание Win-L. "д" это и есть "L".

Как будет нажатие Win, потом L? Я Win-L не пользуюсь.

Типа WinL::пусто.

7 (изменено: AlexLF, 2023-12-06 11:22:54)

Re: AHK: Нажатие на кнопку с KeyCode 91

> Эту «пакость» может делать либо какой то софт, предустановленный производителем ноутбука, либо это может происходить прямо на уровне прошивки ноутбука.

Это отдельная беспроводная клавиатура.

8

Re: AHK: Нажатие на кнопку с KeyCode 91

AlexLF пишет:

Как она называется, я не знаю.

У меня в подписи AhkSpy.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9 (изменено: serzh82saratov, 2023-12-06 13:53:50)

Re: AHK: Нажатие на кнопку с KeyCode 91

m00slim25 пишет:

Потому что заблокировать комбинацию Win-L нет возможности - это системная комбинация

У меня это блокирует.

#sc26::MsgBox

Вроде только один Ctrl+Alt+Delete не блокируется.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: AHK: Нажатие на кнопку с KeyCode 91

serzh82saratov пишет:

#sc26::MsgBox

Выводит окошко сообщения, а потом все равно блокируется.

11

Re: AHK: Нажатие на кнопку с KeyCode 91

Значит бывает по разному.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Нажатие на кнопку с KeyCode 91

А AhkSpy что говорит о нажатой кнопке?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

13

Re: AHK: Нажатие на кнопку с KeyCode 91

AlexLF пишет:

а потом все равно блокируется

А так тоже?

#If 1
#sc26::MsgBox
#If
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14 (изменено: AlexLF, 2023-12-06 19:11:22)

Re: AHK: Нажатие на кнопку с KeyCode 91

serzh82saratov пишет:
AlexLF пишет:

а потом все равно блокируется

А так тоже?

#If 1
#sc26::MsgBox
#If

Так тоже. Выводится пустое окно.

15 (изменено: AlexLF, 2023-12-07 15:51:23)

Re: AHK: Нажатие на кнопку с KeyCode 91

Удалось решить задачу, заблокировав Windows-L в реестре (ссылка).

При этом на кнопку "Lock PC" вполне себе вешаются скрипты AutoHotkey.

#sc26::MsgBox, Lock PC теперь не работает

Всем спасибо.