[AutoIt] Fenster auslesen

  • Da heute die Frage danach aufkam, wie man eine (fremde) GUI auslesen kann, poste ich auch noch einmal ein passendes AutoIt Snippet welches in diesem Falle wesentlich simpler ist als jede Hochsprache.


    Der benötigte Befehl ist:


    Code
    1. GontrolGetText("fenstertitel", "text", controlID)


    Erläuterung:

    • Fenstertitel: Einfach 1:1 der Titel des Fenster oder alternativ der WindowHandle
    • Text: Ist in den meisten Fällen egal, da 1 das Fenster eindeutig identifiziert, somit blanko ("")
    • controlID: Könnt ihr herausfinden, indem ihr mit dem Au3Info-Tool (kommt Standartmäßig mit Scite -> Installationsordner) auf die betreffende Control fahrt


    Ein kurzes Beispiel zum Auslesen der mBot Statistik:


    Code
    1. $string = ControlGetText("mBot v1.12b (vSRO 110)","", "[CLASS:Static; INSTANCE:49]")
    2. MsgBox(0, "mBot Reader", "MBot Statistik: "&@crlf&@CRLF&$string)


    Ergibt:


  • Du nimmst den ganzen String ($string) und zerschneidest ihn an einer bestimmten Stelle (anbieten würde sich der Doppelpunkt) in kleinere Strings.


    Musst du halt ein bisschen "zurechtschneiden" aber funktioniert super:


    Code
    1. $string = ControlGetText("mBot v1.12b (vSRO 110)","", "[CLASS:Static; INSTANCE:49]")
    2. $substrings = StringSplit($string, ":")
    3. $xp = StringTrimRight($substrings[2],2)
    4. $sp = StringTrimRight($substrings[3],5)
    5. ;Kills usw...
    6. MsgBox(0, "mBot Reader", "XP: "&$xp&"SP: "&$sp)


    Ergibt: