AHK WinActive не распознает окно - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь сделать горячую клавишу доступной только для подокна (или панели инструментов-окна) Reaper.

Использование этого "учебника" на AHK #If и If: https://stackoverflow.com/a/36175810/7863776

Я получил это далеко:

#If (WinActive("Plug-in pin connector"))
^Space::
    Click
    MouseMove, 16, 16, 0, R
    Click
    MouseMove, 16, 16, 0, R
Return
#If

Когда я использую горячую клавишу после нажатия в правильном окне, нажатие клавиши не перехватывается AHK.Делая это с помощью горячей клавиши вне If, AHK ловит горячую клавишу, но ничего не происходит.Это заставляет меня поверить, что WinActive не видит окно, в то время как Windowspy явно видит.

Это также не помогает:

SetTitleMatchMode, 2
DetectHiddenWindows, On

Windowspy показывает это

Единственный надежный способ сделать эту горячую клавишу эксклюзивной для этого окна - использовать заголовок «Разъем для штекерного разъема», хотя ни «ahk_exe reaper.exe», ни «ahk_class # 32770» не работают.Я был бы счастлив, если бы они сделали.AHK работает от имени администратора.

1 Ответ

0 голосов
/ 22 февраля 2019

На основании наших открытий с помощью ACC Viewer, пожалуйста, посмотрите, работает ли это для вас:

^Space::
WinGetText , sWinText , A
If InStr( sWinText , "Plug-in pin connector" )
    MsgBox , It worked!
Else
    MsgBox , It didn't work....`n`nHere's what was found: %sWinText%
Return

Редактировать: Как указано OP в комментариях ниже, ControlGetText может использоватьсяопределить, активно ли окно «Штекерный разъем».

...