AutohotKey Schleife laufen lassen, bis Seite sich verändert?
Hallo,
Ich habe mit AutoHotKey bereits eine Endlosschleife programmiert, die immer von einer Seite auf eine andere Seite wechselt und wieder zurück.
Das ganze läuft momentan, bis ich ESC drücke.
Kann man das auch irgendwie einstellen, dass die Schleife unterbrochen wird, sobald die 2. Seite anders aussieht als vorher?
Also sobald man auf der 2. Seite etwas anderes als "Zurück" anklicken kann , soll die Schleife aufhören und mich mit einem Signalton informieren.
Ich habe mich gerade erst mit AHK vertraut gemacht, deshalb weiß ich noch nicht genau, wie ich das umsetzen soll...
1 Antwort
Du kannst ein kleinen Bildschirmausschnitt von dem Zurück-Button machen und dann bei Autohotkey mit ImageSearch auf deinem Bildschirm suchen lassen.
Falls er es nicht findet gibt er dir leere Ausgabevariablen für X und Y aus.
Dann kannst abfragen ob die Ausgabevariablen leer sind und falls sie das sind, dann gibt es kein Zurück-Button bzw. er ist nicht mehr sichtbar. Du musst aber wahrscheinlich bevor du diese Abfrage macht etwas warten, denn beim Drücken und wenige Millisekunden nach dem Drücken wird der Button wahrscheinlich animiert.
Ein anderer Weg wäre die Farbe von nur einem Pixel auf dem Zurück-Button abzufragen und dann mit der Farbe abgleichen, welche das Pixel hat wenn der Button vorhanden ist. Dieser Weg setzt aber voraus, dass die Position des einen Pixels immer gleich ist. Wenn du das Fenster verschiebst oder die Größe davon änderst kann es passieren dass du einen anderen Pixel abfragst, der nicht direkt auf dem Zurück-Button liegt.
Dokumentation von PixelGetColor
Daher ImageSearch bevorzugt benutzen.
Danke!
Zum Überprüfen, ob XPos leer ist, kann ich doch einfach hinschreiben:
if ( XPos!= )
oder?
Habe so etwas ähnliches auf der Hilfe-Seite von AHK gesehen.
Dann wird die if-Schleife nur ausgeführt, wenn XPos nicht leer ist. Geht da so?
Oh klasse, genau so etwas habe ich gesucht. Vielen Dank!!!