ControlSend 使用控制文本,而不是 AHK 中的 Window 文本

ControlSend Using the Control Text, Rather than Window Text in AHK

我试图通过按下“取消”按钮来强制 window 关闭,但我很难使用 ControlSend 或 ControlClick 来完成此操作。我知道通过 Window Spy 调用的控件是什么,而且我知道我的 syntax/names 是正确的。我以前遇到过这样的问题,因为这个特定程序的弹出窗口 windows 不能很好地响应 Controlsend。我可以只发送几个 {Tab},但我宁愿精确一点。

所以,这是我的问题。您可以使用 CONTROL 文本而不是 window 文本来控制命令的发送位置吗?

这是我当前的代码:

ControlSend, TmtBitBtn2, {Enter} ahk_class TROListForm

以下是 Window 间谍对这个按钮的评价:

(现在在鼠标光标下)

ClassNN: TmtBitBtn2

Text: Cancel

Color: 0xF0F0F0 (Blue=F0 Green=F0 Red=F0)

有什么方法可以使用文本“取消”而不是 ClassNN?

谢谢! 保罗

F1:: ControlClick,  Cancel, ahk_class TROListForm

F1::
Loop
{
 Sleep, 100
 IfWinExist, ahk_class TROListForm
    ControlSend, TmtBitBtn2, {Enter} ahk_class TROListForm
     ; or
     ; ControlClick, Cancel, ahk_class TROListForm
}
return