ImageSearch wie benutzen?

03/31/2010 09:05 schlat#16
Quote:
Originally Posted by mipez View Post
Hm ich hab mal mein Bild als Teil des Hintergrunds angelegt... und siehe da, es klappt... sooooo, und wieso sucht es nicht in den Fenstern? -.-
imagesearch sucht nur in den fenstern die im vordergrund bzw. sichtbar sind.

Wenn ich deinen Code auf der ersten seite richtig analysiert habe, aktivierst du den S4 Client erst nachdem du das bild gefunden hat. Das sollte aber in der anderen reihenfolge sein.
WinActivate("S4 Client") -> Client im Vordergrund -> Imagesearch auf den Client
03/31/2010 14:20 mipez#17
Es klappt, nicht ganz.

Wenn ich den Code so lasse...
Code:
Func suchen()
$x1 = 0
$y1 = 0
WinActivate("S4 Client")
While 1 
    $result = _ImageSearch("desktop.png",1,$x1,$y1,100)
    If $result=1 Then 
    Send("temphur" & "{TAB}" & "temphur" & "{ENTER}")
	ExitLoop
ElseIf $result=0 Then
    MsgBox(0, "Couldn't log in", "Couldn't log in")
	ExitLoop
EndIf  
WEnd
EndFunc
Dann findets zwar das Bild, aber es sendet die Daten nicht an S4 Client, sondern zB. wenn ich den Texteditor öffne, dorthin.
03/31/2010 17:34 schlat#18
Quote:
Originally Posted by mipez View Post
Es klappt, nicht ganz.

Wenn ich den Code so lasse...
Code:
Func suchen()
$x1 = 0
$y1 = 0
WinActivate("S4 Client")
While 1 
    $result = _ImageSearch("desktop.png",1,$x1,$y1,100)
    If $result=1 Then 
    Send("temphur" & "{TAB}" & "temphur" & "{ENTER}")
    ExitLoop
ElseIf $result=0 Then
    MsgBox(0, "Couldn't log in", "Couldn't log in")
    ExitLoop
EndIf  
WEnd
EndFunc
Dann findets zwar das Bild, aber es sendet die Daten nicht an S4 Client, sondern zB. wenn ich den Texteditor öffne, dorthin.
nehme mal an deine login daten sind fake!
suchst du nach dem kompleten bild oder nur nach teilen davon? Falls das komplette bild die suche bildet, beachte die auflösung mit der du es aufgenommen hast. Meiner erfahrung nach reicht es aus nur nach kleinen teilen wie überschriften etc zu suchen. Die Toleranz von 100 ist viel zu hoch, gibt zu viele false positves, aber das ist momentan nicht dein problem. ausserdem macht er nur ein versuch in der while schleife, nimm das exitloop aus dem elseif raus bzw. die messagebox auch, sonst bekommst du zuviele auf den screen. schreibe die ergebnisse in eine file oder lasse ihn einfach laufen bis er was findet oder du abrichst.
03/31/2010 18:49 mipez#19
Quote:
Originally Posted by schlat View Post
nehme mal an deine login daten sind fake!
suchst du nach dem kompleten bild oder nur nach teilen davon? Falls das komplette bild die suche bildet, beachte die auflösung mit der du es aufgenommen hast. Meiner erfahrung nach reicht es aus nur nach kleinen teilen wie überschriften etc zu suchen. Die Toleranz von 100 ist viel zu hoch, gibt zu viele false positves, aber das ist momentan nicht dein problem. ausserdem macht er nur ein versuch in der while schleife, nimm das exitloop aus dem elseif raus bzw. die messagebox auch, sonst bekommst du zuviele auf den screen. schreibe die ergebnisse in eine file oder lasse ihn einfach laufen bis er was findet oder du abrichst.
Also, Accountdaten stimmen, ich hab extra nur den Hauptteil des Fensters genommen (200*100px) und MsgBox tauchen nur einmal auf. Ich lass mal in ne ini schreiben... und er findet das Bild ja... nur schreibt er nicht in das Fenster - wenn ich direkt in nem kleinen Script
Code:
Send("temphur" & "{TAB}" & "temphur" & "{ENTER}"
laufen lasse, funktioniert es auch Oo
03/31/2010 19:18 schlat#20
Quote:
Originally Posted by mipez View Post
Also, Accountdaten stimmen, ich hab extra nur den Hauptteil des Fensters genommen (200*100px) und MsgBox tauchen nur einmal auf. Ich lass mal in ne ini schreiben... und er findet das Bild ja... nur schreibt er nicht in das Fenster - wenn ich direkt in nem kleinen Script
Code:
Send("temphur" & "{TAB}" & "temphur" & "{ENTER}"
laufen lasse, funktioniert es auch Oo
dann mach mal nen klick bzw in das eingabe fenster, scheint das es nicht aktiv ist bzw nochmal nen winactivate aufrufen.

Nur das fenster was aktive im vordergrund ist bekommt die anweisungen von Autoit, ausser mit controlsend, aber das funktioniert nur bei nicht d3 anwendungen bzw werden an die die chat function weitergeleitet.

vergewissere dich dasss, das eingabefeld bei start selektiert ist. Wenn nicht selektiere es manuell.
03/31/2010 20:27 mipez#21
Quote:
Originally Posted by schlat View Post
dann mach mal nen klick bzw in das eingabe fenster, scheint das es nicht aktiv ist bzw nochmal nen winactivate aufrufen.

Nur das fenster was aktive im vordergrund ist bekommt die anweisungen von Autoit, ausser mit controlsend, aber das funktioniert nur bei nicht d3 anwendungen bzw werden an die die chat function weitergeleitet.

vergewissere dich dasss, das eingabefeld bei start selektiert ist. Wenn nicht selektiere es manuell.
Is selektiert, Klick und WinActivate schon probiert...
04/02/2010 18:30 mipez#22
Helft mir doch Q_Q