Problem mit Controlsend

  • ich habe jetzt vor kurzem angefangen mal etwas mit AutoIt zu programmieren... Soweit klappt auch alles ganz gut, und auch so wie es funktionieren soll...
    Lediglich habe ich noch ein Problem mit "Controlsend"
    hier mal der Source

    [autoit]

    $input = InputBox ( "Login", "Nickname?", "", " M")
    If $input = "" Then Exit
    $input2 = InputBox ("Login", "Passwort?", "", " M")
    If $input2 = "" Then Exit
    #include <IE.au3>
    _IECreate ("URL",0 ,1 ,1 ,1)
    WinSetState ("Titel", "", @SW_MAXIMIZE )
    WinWaitActive ("Titel")
    TrayTip("Login!", "Login mit Nick:" & $input & " PW:" & $input2 & "" & @CRLF & "by |\/| |_| |\| /-\", 5, 1)
    ControlSetText("Titel", "", "Edit4", $input )
    ControlSetText("Titel", "", "Edit5", $input2 )
    ControlSetText("Titel", "", "Edit6", "Chan" )
    MouseMove (350, 400)
    ControlClick ( "Titel", "Eintreten", "Button1")
    Sleep (5000)
    $title = WinGetTitle ("Nick: "& $input)
    WinWait ($title)
    WinSetState ($title, "", @SW_MINIMIZE )
    While 1
    Controlsend ( $title, "", "[CLASS:Edit; INSTANCE:1]", "{F4}")
    Sleep(random(3000,6000))
    Controlsend ( $title, "", "[CLASS:Edit; INSTANCE:1]", "{F4}")
    Sleep(random(6000,9000))
    Controlsend ( $title, "", "[CLASS:Edit; INSTANCE:1]", "{F4}")
    Sleep(random(2000,5000))
    Controlsend ( $title, "", "[CLASS:Edit; INSTANCE:1]", "{F4}")
    Sleep(random(3000,80000))
    WEnd

    [/autoit]


    Soweit klappt alles auch ganz gut
    Wenn ich das Fenster noch geöffnet habe, drückt AutoIt für mich immer die Taste F4
    Sobald ich die Seite aber minimiere, passiert es nichtmehr.
    habe schon gegoogelt und einen code gefunden, mit dem es im Notepad klappt

    [autoit]

    Run('notepad.exe', '', @SW_MINIMIZE)
    WinWait('Unbenannt')
    ControlSend('Unbenannt', '', 'Edit1', 'Text der geschrieben wurde ;){ENTER}')
    ControlSend('Unbenannt', '', 'Edit1', 'Te{ENTER}xt der gesch{ENTER}rieben {ENTER}wurde ;){ENTER}')

    [/autoit]


    Hier klappt alles, wunderbar, und so wie es soll...

    Wenn mir also jemand sagen könnte, warum es in meinem Script von weiter oben nicht klappt....

    Noch eine kleine info... es handelt sich um eine Anwendung in Java
    screen vom AutoIt Window Info im Anhang


    Ich bedanke mich im vorraus

    VG
    DdvOID

    Einmal editiert, zuletzt von ddvoid (22. März 2009 um 19:51)

  • keiner da der mir Antworten kann?...

    Bekomme Controlsend & Controlclick in jedem Fenster hin - aber in einem Javabasierten Programm (Internetseite) schaff ich es nicht...

  • Wieso benutzt du nicht einfach die _IE UDF ? bzw gib mal die URL dann kann ich mir das anschauen

  • auch wenn die frage vermutlich doof ist, aber ich kann die "_IE UDF" nirgends finden, weder hier in der boardsuche, noch in der AutoIt Hilfe datei.

    Bei meinem Script gehts um den Java-Chat "Knuddels" beim minimiertem Fenster versuche ich die Taste F4 zu drücken - Mit "ControlSetText" kann ich in das Fenster, wo geschrieben werden soll etwas hineinschreiben. - Das Absenden klappt auch - jedoch nur solange wie das Fenster noch geöffnet ist.
    Minimiere ich das Fenster jedoch, kann ich nicht mehr Absenden - Text ins Fenster schreiben, klappt mit "ControlSetText" jedoch problemlos... - "Controlsend" jedoch, funktioniert nicht...

  • Klappt ebenfalls nicht.

    Das fenster muss Aktiv sein, damit Controlsend funktioniert.
    Wenn es nicht im Vordergrund ist, funktioniert es nicht :(

    Aber dennoch, danke für den versuch

  • Klappt ebenfalls nicht.

    Das fenster muss Aktiv sein, damit Controlsend funktioniert.
    Wenn es nicht im Vordergrund ist, funktioniert es nicht :(

    Aber dennoch, danke für den versuch


    also ich weiss nicht was diese F4-Taste bewirken soll, aber das Problem ist denke ich, dass Du Dich nicht auf ein Control-Element beziehst ...

    in Deinem Bsp. wird der Text in ein EDIT-Element geschrieben, Du willst aber den Code "F4" an das Programm im Hintergrund schicken (Laden, Aktualisieren oder so was), das geht glaube ich nicht ....

    ein Tip/Frage: kannst Du die Funktion "F4" nicht auch mit einem Button oder Menüpunkt (des Hidden-Programms) ausführen, dann könnte es klappen

  • Die F4 taste, ist eine Funktion, die ich in dem Chat-fenster habe.
    Es ist mir nicht möglich, irgendwas abzuschicken...
    ControlSetText - schreibt den Text ins vorgesehene Feld
    ControlSend - Soll denn {ENTER} Befehl senden - tut er aber nicht.
    aus dem grund, habe ich es versucht, mit der F4 taste...
    also muss ich dich leider enttäuschen...
    Auch das Senden, von Text klappt nicht :(

    Ebenfalls schaffe ich es nicht in besagtem Fenster per "ControlClick" auf ein Button zu drücken... - es sei denn, das fenster ist geöffnet & die Maus befindet sich an der richtigen stelle

  • *hust* - vielleicht liest du mal den kompletten beitrag? x)
    ich versuche im minimierten bzw. nicht im Vordergrund stehendem Fenster {ENTER} zu drücken bzw. einen Text zu senden.
    klappt auch alles, er sendet ans richtige Fenster etc. - aber nur solange es im Vordergrund ist.

  • anscheinend gibt es wohl keine Lösung für mein Problem bei Autoit...
    Schade eigentlich.

    Naja mal schauen welche Programmiersprache ich mir jetzt zu gemüte führe, um dieses Programm zu schreiben...