0

我是autoit的新手。我有 2 个问题。

  1. 寡妇无文字无标题时如何使用ControlFocus("", "", "[X:643;Y:339]" )。请看window informer查看的window和control的以下信息。

窗口 <<<< 标题:类:WindowsForms10.Window.8.app.0.33c0d9d 位置:0、0 大小:1024、768 样式:0x16010000 示例样式:0x00010000 句柄:0x005201E0

控件 <<<< 类:WindowsForms10.EDIT.app.0.33c0d9d 实例:2 类名NN:WindowsForms10.EDIT.app.0.33c0d9d2 名称:txtConsumerNo 高级(类):[NAME:txtConsumerNo] ID:15270262 文本:位置:638, 237 大小:263、30 ControlClick 坐标:38、27 样式:0x560100C0 ExStyle:0x00000200 句柄:0x00E90176

如何与此控件进行交互?

  1. 我想调用此控件的文本更改事件。这怎么可能
4

1 回答 1

3

如果您正在处理一个没有文本和标题的窗口,首先使用 WinGetHandle 获取窗口句柄可能更容易。您可以像这样从活动窗口获取句柄:

$hWnd = WinGetHandle("[ACTIVE]")

为了与控件交互,您有很多选择。您最好的选择可能是使用控件的名称,即:txtConsumerNo。如果您然后像这样使用 ControlFocus,它将起作用。请注意,$hWnd 来自上面的 WinGetHandle 语句。

ControlFocus($hWnd, "", "[NAME:txtConsumerNo]")

我建议不要使用控件的 X 和 Y 位置。很难找到正确的控制。当其他方法可用时,例如名称或类,它们是非常首选的。

您可以使用 ControlSetText 方法更改 AutoIt 中另一个控件的文本。它会自动为您调用“文本更改事件”。有关 ControlSetText 的文档,请参阅帮助文件。它的工作方式与 ControlFocus 类似。

于 2011-02-09T08:26:43.453 回答