Я использую AHK 1.1, чтобы установить CapsLock как горячую клавишу для переключения полноэкранного режима ArtRage (режим рабочей среды), я делаю это потому, что ArtRage не позволяет мне устанавливать CapsLock как горячую клавишу, но я довольно привык использовать эту клавишу чтобы сделать это во многих программах, поэтому я подумал, что AHK может мне помочь, мой сценарий был прост:
; AR4 Toggle Workbench Mode
Capslock::
Send {Ctrl Down}{Right}{Ctrl Up} ; Ctrl Right is the key I set to toogle the workbench mode
WinActivate ahk_class ArtRage 3
return
#If
Сценарий работает только при первом включении full screen mode
и при первом его отключении, я имею в виду первые два раза, когда я нажимаю CapsLock , но затем он не будет работать, если я не нажму вручную в окне ArtRage. Если я сделаю это, я могу использовать горячую клавишу еще два раза.
Так что, думаю, я как-то теряю фокус на окне. Я пробовал также это:
Capslock::
ControlSend,, {Ctrl Down}{Right}{Ctrl Up}, ahk_class ArtRage 3
WinActivate ahk_class ArtRage 3
return
#If
с тем же результатом, я гугл об этом, и я попытался:
Capslock::
WinGet, AR4_id, ID, A
Send {Ctrl Down}{Right}{Ctrl Up}
ControlFocus,,%AR4_id%
return
но это не работает вообще. Надеюсь, что какой-нибудь суперпользователь может помочь мне в этом.
Отредактировано >>>>
Итак, теперь я попытался заставить скрипт работать, если WinExist И если WinActive, это возможно? Я сделал это так, но это не работает, CapsLock все еще вызывает ArtRage в каждом приложении.
#If WinActive("ahk_class ArtRage 3")
#If WinExist("ahk_class ArtRage 3")
Capslock::
ControlSend, ahk_parent, {SC037}, ahk_class ArtRage 3 ; NumpadMult
return
#If
#If
EDIT2 >>>>
Я подправил код так:
If WinActive("ahk_class ArtRage 3")
Capslock::
ControlSend, ahk_parent, {SC037}, ahk_class ArtRage 3 ; NumpadMult
return
#If
код работает, но если ArtRage открыт (не сфокусирован) и я нахожусь в MS Word, если я нажму CapsLock, он не отправит CapsLock, но отправит "работу в тестовом режиме" в Artrage, несмотря на то, что он не фокусируется.
PD: теперь NumpadMult - это новая горячая клавиша для входа в полноэкранный режим (это проще).