Hallo,
ich habe folgendes Problem: habe mir ein kleines Skript geschrieben, welches bei Tastendruck (z.b. Taste "B") ein Paar Mausklicks und Tastatureingaben ausführt. Ich habe das mithilfe von _IsPressed realisiert, da die Hotkeys die Funktion bei jedem drücken von vorne beginnen lassen, wenn man beispielsweise zu lange drauf bleibt gibts damit n Problem, hab auch das Gefühl, dass es sich stackt. Außerdem willich, dass sich das Skript nur ausführen lässt wenn ein bestimmtes Fenster aktiv ist. Also WinWaitAcive mit in die Schleife eingebaut, sieht jetzt ca. so aus:
[autoit]While 1
WinWaitActive ("Fenstertitel")
Switch $a1
Case 0
ToolTip ("Tip1", $xpixel / 2, 0)
Case 1
ToolTip ("Tip2", $xpixel / 2, 0)
EndSwitch
If _IsPressed ($wtaste) Then
Switch $a1
Case 1
Call ("_func1")
Case 0
call ("_func2")
EndSwitch
ElseIf _IsPressed ($schtaste) Then
call ("_func3")
ElseIf _IsPressed ($etaste) Then
Exit
Else
sleep (1)
EndIf
WEnd
Da mir WinWaitAcive aber eine zu lange Verarbeitungszeit hat (in der Hilfe steht ca. 250ms) habe ich mir nun gedacht, man könnte das doch mit einer Nebenfuntkion arbeiten, in der WinWaitactive parallel ausführt wird und dann ca. alle 500 ms nur eine Variable ins laufende Programm übergibt, die von meiner "Hauptschleife" überprüft wird. Das würde halt die eigentliche Aufgabe zeitlich nicht beeinflussen.
Ich habe aber keine Ahnung wie das gehen soll, Google hat mir jetzt auch nicht wirklich geholfen. Danke schonmal für die Antworten
Dirty W