AutoHotKey – как снова сфокусироваться на окне после выполнения некоторых действий

Я использую AHK 1.1, чтобы установить капсюк в горячую клавишу в полноэкранный режим ArtRage (рабочий режим) в Google, так как ArtRage не позволяет мне устанавливать CapsLock как горячую клавишу, но я довольно привык использовать эту Ключ к этому во многих программах, поэтому я подумал, что AHK может мне помочь.

Я пробовал это, и это сработало:

  • Как запустить командный файл без запуска «командного окна»?
  • Мультимедийные клавиши Kinesis Advantage OS X
  • Autohotkey - установить горячую клавишу для переключения (отключено с помощью сценария автозапуска дыр)
  • Записывать одно и то же приложение несколько раз в Windows 7
  • Как создать ярлык с помощью пакетного скрипта?
  • Используйте трекбол для прокрутки, масштабирования и т. Д.
  • ; AR4 Toggle Workbench Mode If WinActive("ahk_class ArtRage 3") Capslock:: Sleep 20 Send {SC037 Down} ; NumpadMult Sleep 10 Send {SC037 Up} ; NumpadMult Sleep 90 WinActivate, ahk_class ArtRage 3 return #If 

    Таким образом, сценарий работает нормально, но тогда как-то окно ArtRage теряет фокус, я имею в виду, что я все еще вижу окно ArtRage, но я заметил, что он теряет фокус, потому что если я хочу запустить еще одну горячую клавишу AHK (которая работает только с #If WinActive("ahk_class ArtRage 3") ) сразу же после выполнения вышеприведенного скрипта он не обнаружит окно ArtRage как открытое, поэтому оно не будет работать, если я не вручную нажму кнопку ArtRage.

    Я попытался снова сфокусироваться после завершения Capslock (режим Workbench), но WinActivate, ahk_class ArtRage 3 не переориентируется на окно ArtRage, разве нет другого способа переориентации на окно в AHK?

    EDITED >>> как я могу разместить IfWinExist("ahk_class ArtRage 3") в конце действия? Потому что я не могу просто запустить его поверх моего сценария AHK, потому что он всегда будет сосредотачиваться на ArtRage, даже если я работаю в других приложениях правильно? Я пробовал это, но он не в правильном синтаксисе, не могли бы вы отправить сообщение? пример??

     #If WinActive("ahk_class ArtRage 3") Capslock:: Send {SC037 Down} ; NumpadMult Sleep 30 Send {SC037 Up} ; NumpadMult Sleep 30 IfWinExist("ahk_class ArtRage 3") WinActivate, ahk_class ArtRage 3 return #If 

  • Изменение горячих клавиш CTRL-X, -C и -V в Windows на разные клавиши
  • Как инвертировать колесо прокрутки в определенных приложениях с помощью AutoHotkey?
  • Запустите приложение OS X с помощью сочетания клавиш
  • Есть ли AutoHotKey для Ubuntu?
  • Могу ли я создать ярлык для каталога Windows?
  • Добавление переключателей командной строки в ярлыки Windows
  • One Solution collect form web for “AutoHotKey – как снова сфокусироваться на окне после выполнения некоторых действий”

    Попробуйте это (прежде всего как автономный скрипт):

     ; AR4 Toggle Workbench Mode #If WinActive("ahk_class ArtRage 3") Capslock:: KeyWait, Capslock ; wait until Capslock is released Sleep 20 Send {NumpadMult} Sleep 90 If !WinActive("ahk_class ArtRage 3") ; means: IfWinNotActive { Loop { ; Which window becomes active in this case? WinGetTitle, ActiveTitle, A WinGetClass, ActiveClass, A ToolTip, Active Window:`n%ActiveTitle% ahk_class %ActiveClass% WinActivate, ahk_class ArtRage 3 Sleep 50 If WinActive("ahk_class ArtRage 3") { ToolTip break } } } return #If Esc:: ExitApp 
    Давайте будем гением компьютера.