【问题标题】:AHK WinActive not recognizing windowAHK WinActive 无法识别窗口
【发布时间】:2019-02-23 00:45:22
【问题描述】:

我正在尝试使热键仅对 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 显示this

使该热键独占该窗口的唯一可靠方法是标题为“Plug-in pin connector”,尽管“ahk_exe reaper.exe”和“ahk_class #32770”都不起作用。如果他们这样做,我会很高兴。 AHK 以管理员身份运行。

【问题讨论】:

  • 你似乎已经涵盖了所有的基础。我看到您尝试过SetTitleMatchMode, 2,但您是否尝试过使用标题的较小部分,例如connector?此外,ACC 查看器可能会显示比 Window Spy 更多的细节,这可能会阐明问题。 autohotkey.com/boards/viewtopic.php?f=6&t=26201
  • 谢谢埃文,不知道 ACCviewer,但它告诉我同样的事情。
  • 谢谢埃文,不知道 ACCviewer,但它告诉我同样的thing。我尝试了 WinActive("ahk_exe reaper.exe","connector")WinActive("connector") 与 TitleMatchMode 2 但没有骰子。
  • 有趣的是,WinTitle 是空白的,但 WinText 与您的明显标题相匹配。
  • 并且类和进程都是空的,多么有趣……我想知道我是否将 WinActive 的 WinTitle 留空,只是在 WinText 字段中使用了“连接器”……但 WinActive(,"connector") 遗憾地没有不工作

标签: window autohotkey detection


【解决方案1】:

根据我们对 ACC 查看器的发现,请查看这是否适合您:

^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 在下面的 cmets 中发现的,ControlGetText 可用于检测“Plug-in pin connector”窗口是否处于活动状态。

【讨论】:

  • 使用 $ 时,AHK 不会捕捉到该键,没有它,AHK 至少可以捕捉到热键击键,但遗憾的是仍然没有
  • $ 只是为了在 else 条件下不会触发自身。也许改变 else 条件中发生的事情以显示找到的内容。为此,我将编辑上面的代码。
  • 那我很难过。您是否在“Plug-in pin connector”窗口处于活动状态时触发了热键?
  • 所以我查看了 ACCviewer 代码,它使用了两种方法:WinGetText 和 ControlGetText。当我将它插入您的代码并添加一个逗号时,我得到一个“它有效!”万岁!!!没想到我足够聪明,无法阅读 ACCviewer 的源代码,但不知何故我走运了!谢谢你埃文!!!
  • 我很高兴你找到了有用的东西!我也在查看 ACC 源代码,它确实从第 327 行的 MouseGetPos, , , Whwnd 开始,但它有很多自定义函数和 DllCall,我很快就迷路了。
猜你喜欢
  • 2021-12-11
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
相关资源
最近更新 更多