1

Тема: AHK: Отображение активности горячих клавиш

Здравствуйте, у меня есть код для тройного клика:

*LButton::
{
SetMouseDelay 20
Click
SetMouseDelay 20
Click
SetMouseDelay 30
Click
}
Return

*Z::Suspend

Горячая клавиша - ЛКМ. Я часто включаю и отключаю горячую клавишу при помощи Z, находясь в игре. Проблема в том, что не понятно, когда хоткей активен, а когда выключен. Возможно ли вывести в угол экрана небольшую точку зеленого цвета, чтоб я понимал, что хоткей активен, а если он не активен, точка горит красным, к примеру. Если точку невозможно поверх экрана прикрепить, как по другому можно знать в игре, не выходя на рабочий стол, активен ли хоткей? Помогите приписать такую функцию, пожалуйста. Заранее благодарю.

2

Re: AHK: Отображение активности горячих клавиш

Главное игру запускать в оконном режиме без рамок (не в полноэкранном режиме), тогда AHK сможет сделать информирование поверх активного окна.

Hotkey, *vk1, Clicker, Off
Return

Z::
Hotkey, *vk1, Toggle
SW := !Mod(SW, 2)
ToolTip, % (SW = 1 ? "Тройной клик" : "Обычный") ,0,0
Return


Clicker:
Loop 3 {
 Click
 Sleep, 30
}
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3 (изменено: __Михаил__, 2021-03-31 20:57:33)

Re: AHK: Отображение активности горячих клавиш

Ещё вариант - проигрывание сигнала. Я лично так делал в играх, где нет возможности вывода инфы поверх окна.


Hotkey, *vk1, Clicker, Off

Z::
Hotkey, *vk1, Toggle
SW := !Mod(SW, 2)
SoundBeep, % (SW? 100 : 200), 200
ToolTip, % (SW? "Тройной клик" : "Обычный") ,0,0
Return

Clicker:
Loop 3 {
 Click
 Sleep, 30
}
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

4

Re: AHK: Отображение активности горячих клавиш

Спасибо за помощь!

5

Re: AHK: Отображение активности горячих клавиш

На виндовс 10 можно так выводить свое окно поверх всех окон.
http://forum.script-coding.com/viewtopic.php?id=15348

6

Re: AHK: Отображение активности горячих клавиш

Я так понял для этого нужно обязательно запуск через контекстное меню делать (Run with UI Access)? В самом скрипте нельзя указать такой запуск?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

7

Re: AHK: Отображение активности горячих клавиш

Как-нибудь так можно:

full_command_line := DllCall("GetCommandLine", "str")
if !RegExMatch(full_command_line, " /restart(?!\S)")
   RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe" /restart "%A_ScriptFullPath%"

8

Re: AHK: Отображение активности горячих клавиш

Malcev пишет:
full_command_line := DllCall("GetCommandLine", "str")
if !RegExMatch(full_command_line, " /restart(?!\S)")
   RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe" /restart "%A_ScriptFullPath%"

Я так понимаю, что если указать иную директорию для другого .exe файла, скрипт его запустит исправно?

9

Re: AHK: Отображение активности горячих клавиш

Если вы хотите запускать скомпилированный файл то вам и crомпилировать надо с ui access.
А с этим придется повозиться.
Да и нету в этом смысла никакого.