[AutoIt] text abfragen

04/16/2010 19:34 crasher1985#1
Hallo ich habe zwar schon etwas gesucht aber noch nichts gefunden.
Ich versuche aus einem Fenster einen text abzufragen:

Normalerweise steht da: Es läuft

aber wenn sich was ändert steht z.b. Beendet.

Dann möchte ich einen bestimmten Code ausführen.


Nun möchte ich alle x Minuten Abfragen was dort für ein text steht. Ich könnte es sicherlich über die Bildsuche machen da aber die autoIt Fenster Info den text erkennt sollt es doch auch möglich sein direkt nach dem Text zu schauen oder?

Danke Schonmal für die hilfe
04/16/2010 19:51 TheScriptElite#2
Dann mach dass doch in einer Func...

Du hast dein normales Script, und codest einfach direkt am anfang des scriptes diesen befehl

AdlibRegister ("_FUNKTION", 500)

Nach der while schleife kommt dann das:

Func _FUNKTION()
If ABFRAGE DES TEXTES = "Es läuft" Then
;deine Befehle
ElseIf ABFRAGE DES TEXTES = "Beendet" Then
;DEIN CODE
EndIf
EndFunc


Es wäre gut wenn du deinen code mal posten würdest, dann würde ich es dir zusammen schnipseln ;)
04/16/2010 20:09 crasher1985#3
erstmal danke .. mit dem Posten das mache ich aber bin noch nicht soweit muss mir erstmal die groben Sachen zusammenbasteln. Bzw. muss mich auch erstmal mit AutoIt weiter beschäftigen ..

Ich geh da so vor erst suchen dann fragen und dann das einbauen wenns dann soweit ist^^


Bzw. Was du schreibst ist doch wenn der text im AutoIt Prog ist oder? hab ja ne externe exe die ausgeführt wird und wo ich die statusmeldung abfragen möchte
04/16/2010 21:52 TheScriptElite#4
Dann nimm doch CE + Pointer, finde den Pointer für den Text des programms, und bau ihn ein !!!

Ausserdem ist "If" eine Grundlegende Sache in AutoIt, die man beherrschen sollte...


EDIT:

Mit ABFRAGE DES TEXTES = ???

Meine ich:

Du hast eine variable

Global $aText





Diese Variable beinhaltet die abfrage des textes, dass machst du halt einfach mit in die func rein...

warte 10 min, dann gebe ich dir n bsp script :D
04/16/2010 21:57 crasher1985#5
ok nachdem ich nun ewigkeiten versucht habe es hinzubekommen bitte ich doch mal um Hilfe:

ich möchte bei dem angehängten Fenster die Status Meldung bis unten abfragen
komme aber einfach nicht weiter.

PHP Code:
$StatusControlGetText("[CLASS:wxWindowClassNR]","","")
$resultStringInStr $Status"Status")
MsgBox(0"Text read was:"$result
der Code liefert mir 0 zurück also nicht gefunden.
Wenn ich direkt das Control abfrage mit [CLASS:Button; INSTANCE:22]
bekomme ich : Report Box.

Kann mir eventuell einer helfen bitte^^
04/16/2010 22:09 Kazaaa#6
Wie wärs denn mit ImageSearch ? Damit kannst doch auch abfragen ob sich der Text geändert hat (bzw das Bild eben)
04/16/2010 22:12 crasher1985#7
ja war auch mein erster Gedanke aber finde es sorum eleganter und vorallem variabler

Das ganze soll mehr oder weniger ein Zusatz Bot für einen schon vorhandenen werden und somit auch öffentlich bereit gestellt werden. Denke wenn einer ne andere Schriftgröße oder so hat geht das dann ja nciht mehr.
04/16/2010 22:33 Mattthias#8
Ach, ich bin zu müde, ich geh pennen, ich lade es morgen hoch *gäääähn*, bb :D
04/17/2010 12:02 crasher1985#9
Quote:
Originally Posted by Mattthias View Post
Ach, ich bin zu müde, ich geh pennen, ich lade es morgen hoch *gäääähn*, bb :D


warte^^
04/17/2010 14:06 Cholik#10
#moved
04/17/2010 14:09 .nAno#11
Quote:
Originally Posted by crasher1985 View Post
Hallo ich habe zwar schon etwas gesucht aber noch nichts gefunden.
Ich versuche aus einem Fenster einen text abzufragen:

Normalerweise steht da: Es läuft

aber wenn sich was ändert steht z.b. Beendet.

Dann möchte ich einen bestimmten Code ausführen.


Nun möchte ich alle x Minuten Abfragen was dort für ein text steht. Ich könnte es sicherlich über die Bildsuche machen da aber die autoIt Fenster Info den text erkennt sollt es doch auch möglich sein direkt nach dem Text zu schauen oder?

Danke Schonmal für die hilfe
kannst du dich bitte nen bisschen genauer ausdrücken oder einen bisherigen Source posten?
Ich blick nicht ganz durch was du jetzt überhaupt möchtest und wann was passieren soll^^
04/17/2010 15:15 crasher1985#12
Also ich möchte aus dem Fesnter was ich in Post 5 hochgeladen habe unten den text bei Status lesen. Bzw. ICh will schauen ob bei status ein bestimmter Text steht und dann in eine IF schleife gehen.

Der Source steht auch dort find den Fehler leider nicht selber.
04/17/2010 16:08 .nAno#13
probier mal anstatt von ControlGetText WinGetText ;)