Habe folgenden Code:
Spoiler anzeigen
If _IsPressed("01", $dll) Then
$NewWinTitle = WinGetTitle("[active]")
If $NewWinTitle <> $WinTitle Then
$WinTitle = $NewWinTitle
FileWrite (@DesktopDir & "\Test.txt", 'WinWait(' & $WinTitle & ', "")' & @CRLF & 'Sleep(2000)' & @CRLF)
EndIf
$WinText = WinGetText($WinTitle)
$Control = ControlGetFocus ($WinTitle , "")
$ControlText = ControlGetText($WinTitle , "", $Control)
FileWrite(@DesktopDir & "\Test.txt", ';"' & $ControlText & '" wird angeklickt' & @CRLF)
FileWrite(@DesktopDir & "\Test.txt", 'ControlClick(' & $WinTitle & ', "", ' & $Control & ')' & @CRLF)
EndIf
Je nach Steuerelement liefert $Control = ControlGetFocus ($WinTitle , "") nichts oder nichts brauchbares zurück. Das AutoIt Window Info zeigt die Controls aber korrekt an.
Als Beispiel sei das Programm TeamViewer genannt. Dort wird "TeamViewer Panel (minimiert)" als Steuerelement zurückgegeben wenn auf die Combobox oder die Optionsfelder nach dem Programmstart geklickt wird.