6

我正在尝试使用 AutoIt 自动化应用程序,并且我需要等待控件出现在应用程序中,然后才能开始自动化。此控件在应用程序启动后不久加载,但不会更改窗口标题。如何等待控件出现?

4

1 回答 1

8

要获取另一个 GUI 上的控件的句柄,您需要使用AutoIt Window Info Tool来识别该控件。要获取控件的类名,请转到“控件”选项卡并查找“类名NN”的值。现在你可以像我在下面的例子中那样使用这个值。

当然,您需要替换"Button1"为从 AutoIt Info Tool 获得的信息并相应地修改窗口标题。

Global $hCtrl = 0, $Waiting = True

; your GUI loop
While (1)
    If $Waiting And WinExists("Title of OtherApp.exe") Then
        $hCtrl = ControlGetHandle("Title of OtherApp.exe", "", "Button1")
        If $hCtrl Then
            ; we got the handle, so the button is there
            ; now do whatever you need to do
            GUICtrlCreateLabel("Button is there!", 10, 10)
            $Waiting = False
        EndIf
    EndIf

    $iMsg = GUIGetMsg()
    Switch $iMsg
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd
于 2013-01-29T13:22:13.840 回答