Hallo,
ich bin neu hier und hoffe es kann mir jemand helfen. Auch nach langen Googeln bin ich leider nicht weiter gekommen.
Hier mein Problem:
Ich möchte ein Programm steuern, bei dem ich ein Edit Feld beschreibe, dann muss ich zwei Buttons betätigen.
Das funktioniert soweit ganz gut und war auch nicht schwer.
ABER
Jenachdem in welcher Reihenfolge ich die Fenster des Programms öffne oder, wenn ich das Bedienfenster schließe und neu
öffne, wechselt die Instanz meiner Controls, so dass mein Code nicht mehr funktioniert.
Das EditFeld spreche ich so an:
ControlClick("MyTitle", "", "[CLASS:Edit; INSTANCE:6]")
ControlSend("MyTitle", "", "[CLASS:Edit; INSTANCE:6]", $Befehl)
Mein Edit Feld hat dann z.B. irgendwann diesen Wert:[CLASS:Edit; INSTANCE:13]
Die Buttons spreche ich so an:
ControlClick("MyTitle", "", "[CLASS:Button; INSTANCE:40]")
Später dann dieser Wert:[CLASS:Button; INSTANCE:111]
Experimentiert habe ich schon mit folgender Funktion:
$Out=_ControlGetHandleByPos("MyTitle","",60,341)
um den Handle abzufragen. Funktioniert beim ersten mal gut aber komischerweise bekomme ich nachdem die Instanz anders
geworden ist über die Funktion immer noch die "alten" Handle, die dann aber nicht mehr funktionieren.
Da ich mit dem Thema AutoIt ganz neu und frisch unterwegs bin, hoffe ich, dass mein Problem für euch leicht lösbar ist.
Im Moment funktioniert mein Code nur, wenn ich das Programm neu starte und das Fenster das ich steuern will als erstes direkt öffne.
Schließe ich es und öffne es neu geht es nicht mehr. Öffne ich erst ein anderes geht es auch nicht.
Hat irgendjemand eine gute Idee !!!????!!!!
Gruß
Lars