Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

UseHook -Autohotkey

Заставляет скрипт использовать хук для реализации всех или некоторых горячих клавиш.

#UseHook [On|Off]

Параметры

On|Off Если параметр не задан, #UseHook действует так же, как #UseHook On.

On: Хук клавиатуры будет использован для реализации всех горячих клавиш ниже вплоть до следующей директивы #UseHook Off (если она есть).

Off: Горячие клавиши будут реализованы с использованием метода по умолчанию (через функцию RegisterHotkey(), если это возможно; если нет, то с использованием хука клавиатуры).

Примечания

Как правило, горячие клавиши реализуются с использованием функции Windows API RegisterHotkey() везде, где это возможно. Однако при некоторых условиях отзывчивость (responsiveness) горячих клавиш может быть улучшена, если использовать вместо этого клавиатурный хук.

Применение этой директивы эквивалентно использованию префикса $ в определении каждой горячей клавиши.

Как и все директивы, #UseHook обрабатывается только однажды при запуске скрипта, поэтому место для неё в скрипте выбирается не так, как для команд (т.е. нет необходимости помещать её внутрь процедуры). Вместо этого поместите её непосредственно перед первой из горячих клавиш, на которые должно распространяться её действие.

Горячие клавиши, использующие хук клавиатуры, не могут запускаться командой Send. Точно так же горячие клавиши мыши не могут запускаться командой Click, поскольку все они используют хук мыши. Чтобы обойти это, используйте Gosub, чтобы перейти к горячей клавише как к обычной метке. Например: Gosub #LButton.

Если данной директивы в скрипте нет, это равносильно её применению с параметром Off.

Пример

#UseHook ; Заставляет горячие клавиши ниже использовать хук. #x::MsgBox, Эта горячая клавиша реализуется через хук. #y::MsgBox, И эта также. #UseHook off #z::MsgBox, Но не эта.
Автор перевода: YMP
Настоящее имя переводчика: Юрий Попов
Источник: http://www.script-coding.com/AutoHotkey/UseHook.html
Под редакцией ahk-wiki.ru от 21.08.19