Frage

Ich bin mit AutoIt einer automatischen Installation von Anwendung zu erstellen. Es gibt einen Dialog, der eine Steuerelement List-Box enthält, und im Listenfeld gibt es einige Möglichkeiten für Benutzer (die detaillierten Entscheidungen hängen von dem Computer des Benutzers. Für einige Benutzer es vielleicht nur eine Wahl, für einige Nutzer es drei Möglichkeiten sein kann, etc.) , so mag ich die Texte in der Listbox bekommen, um die Entscheidung zu treffen. Ich habe den folgenden Code versucht, aber es hat nicht funktioniert.

; 2223 is the ID of listbox

$txt = ControlGetText("Select Web Site", "", "[ID:2223]")
Msgbox(0, "", $txt)

Nach der Ausführung $txt ist null.

Also, was soll ich die Texte in Listbox erhalten tun?

Hier ist das Attribut des listbox überwacht von AutoIt v3 Window Info :

Class: WindowsForms10.Listbox.app.0.33c0d9d
War es hilfreich?

Lösung 4

Was ich tun möchte, ist eines der Elemente auszuwählen Namen „Default Web Site“ in der Liste, aber es scheint, dass die Liste Inhalt nicht bekommen werden kann, so endlich habe ich versucht, einen anderen Weg:

Zuerst habe ich die Listbox konzentriert zu machen, und dann den Artikel, den ich wählen „Standard-Website“ durch das Senden „Def“:

ControlFocus($Title, "", "[NAME:lbWebSites]")
; Select the option "Default Web Site", so press "def" to set the desired item.
Send("Def")

Andere Tipps

Ich habe den ‚Senden‘ Befehl gefunden unzuverlässig gelegentlich zu sein, vor allem, wenn der PC gesperrt ist.

‚Control‘ hat immer funktioniert die Tastenanschläge zu bekommen, wo ich sie will.

schrieb ich einen Test, um zu prüfen, ob ein Element in einer Box Combo war. Es könnte mit GuiComboBox.au3 ähnliche Funktionen für Listenfelder sein.

Func DoesItemExistInComboBox($windowtitle, $windowtext, $comboboxcontrol, $itemtocheck)
    $returnvalue = 0
    $ComboBoxHandle = ControlGetHandle($windowtitle, $windowtext, $comboboxcontrol)
    $ComboBoxArray = _GUICtrlComboBox_GetListArray($ComboBoxHandle)
    For $i = 0 TO UBound($ComboBoxArray)-1
        If $ComboBoxArray[$i] = $itemtocheck Then
           $returnvalue = 1
        EndIf
    Next
    return $returnvalue
EndFunc

Was ist mit:

ControlCommand("My GUI", "", "[CLASS:ListBox; INSTANCE:1]", "SelectString", "item2")
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top