AutoIt を使用してアプリケーションを自動化しようとしていますが、自動化を開始する前にアプリケーション内にコントロールが表示されるまで待つ必要があります。このコントロールは、アプリケーションの起動直後に読み込まれますが、ウィンドウのタイトルは変更されません。コントロールが表示されるのを待つにはどうすればよいですか?
15772 次
1 に答える
8
別の GUI のコントロールへのハンドルを取得するには、AutoIt ウィンドウ情報ツールを使用してそのコントロールを識別する必要があります。コントロールのクラス名を取得するには、[コントロール] タブに移動し、[ClassnameNN] の値を調べます。これで、以下の例で行ったように、この値を使用できます。
もちろん"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 に答える