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

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

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

; 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 

  • Записывать одно и то же приложение несколько раз в Windows 7
  • Как добавить аргументы командной строки (параметры) для закрепленных приложений в Windows 7?
  • Есть ли эквивалент Ctrl + Tab в Mac OS X?
  • Нажатие клавиши максимизируется вдоль вертикали только в Windows 7?
  • Как добавить пользовательскую комбинацию клавиш для вложенного элемента меню?
  • Как запустить командный файл без запуска «командного окна»?
  • Могу ли я захватить управление Cmd-Left в OSX?
  • Запуск приложения с пользовательской комбинацией клавиш
  • 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 
    Interesting Posts
    Давайте будем гением компьютера.