ControlSend buggy?

09/02/2014 22:35 Moneypulation#1
Hallo,

ich lasse im Hintergrund ein Miniscript laufen:

#RequireAdmin
While 1
ControlSend("NosTale","",""," ")
sleep(100)
ControlSend("NosTale","","","xx")
Sleep(300)
WEnd

Es funktioniert zwar, aber irgendwie buggt mein PC dann rum z.b. beim Schreiben. Ich bekomm automatisch caps lock ohne dass ich es aktiviert habe und meine Maus spinnt ein bisschen rum, wenn ich z.b. auf einen Link klicke und die Seite dann lädt. Auf jedenfall sehr seltsam. Als ich die Sleeps noch nicht eingebaut hatte, war es sogar noch ein wenig extremer...
Ist das normal so mit dem ControlSend?
09/02/2014 23:11 KDeluxe#2
Bei mir hat es auch schon zum Bluescreen geführt. Dabei nutze ich AutoIt nicht einmal "produktiv". Ich habe nur ein kleines Script zu Testzwecken durchlaufen lassen.
Verwende statt ControlSend() einfach meine [Only registered and activated users can see links. Click Here To Register...].
09/03/2014 00:28 Moneypulation#3
Quote:
Bis auf Zahlen (0 - 9) und Buchstaben (a - z, A - Z) können keine einstelligen Zeichen verwendet werden (z. B. "~").
Was ist mit ner Leertaste?
09/03/2014 00:39 alpines#4
{SPACE}
09/03/2014 02:14 Moneypulation#5
Hey alpines und KDeluxe (gern auch weitere),

ich bin mir sicher dass ihr den Post auch lesen werdet, deswegen will ich jetzt keinen neuen thread aufmachen. Wenn ich mein Spielfenster offen hab und mein Bot starte, der dann die HP Bar Mana Bar etc. definiert, und ich dann mit controlsend und controlclick oder mit KDeluxes UDF arbeite, kann ich dann sozusagen auch pixelsearch's durchlaufen lassen, während das fenster danach minimiert wird? Also dass das Fenster 1x gezeigt wird um alles zu definieren, und danach damit gearbeitet werden kann

Edit: @KDeluxe

Code:
#include<PostMessage.au3>
#RequireAdmin
While 1
   _PostMessage_Send("NosTale",0x20)
   sleep(100)
   _PostMessage_Send("NosTale","x")
   Sleep(300)
WEnd
Es druckt space aber nicht x, wieso?
09/03/2014 17:55 KDeluxe#6
Wenn das Fenster minimiert ist kannst du die PixelSearch() Funktion nicht nutzen. PixelSearch() "sieht" nicht mehr als du selbst. Wenn du das Spielfenster aber auf einem separaten Monitor laufen lässt kannst du nebenher auch noch andere Dinge machen, da das Spiel bei der Verwendung von ControlSend() bzw. bei meiner PostMessage UDF nicht den Fokus braucht. Sofern ich es richtig in Erinnerung habe kann die FastFind (?) UDF auch Pixel von nicht sichtbaren Fenstern auf einen Farbwert überprüfen. Die Vermutung liegt nahe, dass es auch ein PixelSearch() Äquivalent gibt. Ansonsten einfach selber eine entsprechende Funktion basteln.
Meine PostMessage UDF funktioniert in der Regel sowohl mit den [Only registered and activated users can see links. Click Here To Register...] als auch mit den Zeichen. Die Zeichen werden mit AutoIt Funktionen in die entsprechenden Codes umgewandelt. Übergebe der Funktion doch erst einmal sämtliche Tasten in Form der Key-Codes.