使用窗口文本和标题在AutoIt中设置控制文本

时间:2011-02-08 17:39:31

标签: autoit

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

  1. 当寡妇没有文字而没有标题时,如何使用ControlFocus(“”,“”,“[X:643; Y:339]”)。请查看窗口告密者查看的窗口和控件的以下信息。< / LI>
      
        
          
            

    Window&lt;&lt;&lt;&lt;&lt;         标题:         类:WindowsForms10.Window.8.app.0.33c0d9d         位置:0,0         大小:1024,768         风格:0x16010000         ExStyle:0x00010000         句柄:0x005201E0

                     

    控制&lt;&lt;&lt;&lt;         类:WindowsForms10.EDIT.app.0.33c0d9d         实例:2         ClassnameNN:WindowsForms10.EDIT.app.0.33c0d9d2         名称:txtConsumerNo         高级(课程):[NAME:txtConsumerNo]         ID:15270262         文本:         职位:638,237         大小:263,30         ControlClick Coords:38,27         风格:0x560100C0         ExStyle:0x00000200         句柄:0x00E90176

          
        
      

    如何与此控件进行交互?

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

1 个答案:

答案 0 :(得分:3)

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

$hWnd = WinGetHandle("[ACTIVE]")

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

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

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

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