Hallo an alle,
bin neu im Forum und hab aus Interesse ein bisschen mit AutoIt gearbeitet, bei meinem aktuellen Projekt hänge ich allerdings seit ein paar Tagen fest.
Grundsituation:
Ich und meine Freundin haben tagsüber zu tun, abends will dann oftmals einer spielen, der andere chatten.
Da ich für mein Spiel jedoch nur ein paar Zahlentasten und die Maus benötige, dachte ich mir, man kann ja einfach die anderen Tasten ins ICQ-Fenster umleiten. An sich klappt das auch ganz gut, ich habe eine kleine Funktion geschrieben, die die Fensterinformationen per Knopfdruck auslesen kann und das Schreiben funktioniert auch über einfache HotKeySets nach dem Prinzip:
HotKeySet("{a}","_a")
Func _a()
ControlSend($Fenster, "", $Handle,"{a}")
while 1
Sleep(10000)
WEnd
EndFunc
So kann meine Freundin also ins nicht fokussierte ICQ-Fenster schreiben, während ich daddel.
Das Problem ist nun aber, dass das Senden nicht funktioniert...
Normalerweise kann man bei ICQ ja per Entertaste die Nachricht verschicken.
Hat das Fenster aber keinen Fokus so wird nur ein Zeilenumbruch ausgeführt und nichts gesendet.
Hatte mir überlegt, dass man vielleicht einen Mausklick ans Fenster senden könnte, denn neben dem Chat gibt es ja einen "Senden" Button, den ich mittels Controlclick ansprechen wollte, jedoch sind die einzigen Elemente mit Controlinformationen der Chat und die Texteingabe, laut dem InfoWindow...
Und ohne Control-ID bekomme ich Controlsend nicht dazu, an die gewünschte Position zu klicken.
Meine aktuelle (Not-)Lösung ist, dem ICQ-Fenster bei Anschlag der Entertaste kurz den Fokus zu geben, Enter zu senden und danach wieder aufs ursprüngliche Fenster zurückzuspringen. Dies dauert jedoch ca. eine halbe Sekunde und in dem Zeitpunkt kommt es öfter vor, dass genau dort ein Mausklick stattfindet, der das ganze durcheinanderbringt (Idee beim Schreiben: Mausinput blocken möglich?).
Meine Frage ist also, gibt es eine elegantere Lösung bzw. einen Lösungsansatz, Tips oder ähnliches, womit ihr mir dienen könntet? Möchte das Ganze zu einem befriedigenden Abschluss bringen, damit ich mich meinem nächsten Projekt widmen kann (Ein Skript, welches Minesweeper lösen kann! )
MfG DD