ControlSend & ControlClick funktioniert nicht

  • ControlSend & ControlClick funktioniert nicht. Die Test-MsgBox erscheint aber.
    Woran kann das liegen?

    [autoit]


    $title = "Speichern unter"

    [/autoit][autoit][/autoit][autoit]

    WinWaitActive($title)
    If WinExists($title) Then
    WinWaitActive($title)
    Local $sText = ControlGetText($title, "", "Edit1")
    If $sText = "UPS_CSV_EXPORT.csv" Then
    ControlSend($title, "", "Edit1", "test")
    ControlClick($title, "", "Button1")
    MsgBox(0, "Test", "test " & $sText)
    EndIf
    EndIf

    [/autoit]
    Spoiler anzeigen
    Spoiler anzeigen
  • Hi jNizM,

    unverändert, bei mir läufts :thumbup:

    [autoit]

    $title = "Speichern unter"

    [/autoit][autoit][/autoit][autoit]

    While 1

    [/autoit][autoit][/autoit][autoit]

    If WinExists($title) Then
    WinWaitActive($title)
    Local $sText = ControlGetText($title, "", "Edit1")
    If $sText = "UPS_CSV_EXPORT.csv" Then
    ControlSend($title, "", "Edit1", "test")
    ControlClick($title, "", "Button1")
    MsgBox(0, "Test", "test " & $sText)
    EndIf
    EndIf
    WEnd

    [/autoit]

    €dit: Sendet ans Ende von deiner Eingabe "test" und klickt den Dialog weg, danach folgt die MsgBox.

    Gruß,
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Sogar als x86 (32bit) läufts bei mir.

    Ist etwas schwer einen Fehler zu finden, der beim potentiellen Helfer nicht auftritt :)

    Wie wäre es, wenn du einen Klick auf Enter simulierst/sendest?

    Send("{Enter}")

    Gruß,
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Frage an die Allgemeinheit: An diesem Aero-Design kanns nicht liegen, oder?

    Mein Windows-Design ist "Classic" (Windows XP-like)

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Evtl. so?

    [autoit]

    $title = "Speichern unter"
    $hwin = WinGetHandle($title)
    WinWaitActive($hwin)
    If WinExists($hwin) Then
    WinWaitActive($hwin)
    Local $sText = ControlGetText($hwin, "", "[CLASS:Edit; INSTANCE:1]")
    If $sText = "UPS_CSV_EXPORT.csv" Then
    ControlSetText($hwin, "", "[CLASS:Edit; INSTANCE:1]", "test")
    ControlSend($hwin, "", "[CLASS:Button; INSTANCE:1]", "{ENTER}")
    MsgBox(0, "Test", "test " & $sText)
    EndIf
    EndIf

    [/autoit]