Vielen Dank für die ganzen Antworten, letztendlich hat mir der Befehl "AdlibRegister" weitergeholfen. Ich werde mir jedoch eueren anderen Vorschläge auch noch anschauen =)
Gruß, cantax
Vielen Dank für die ganzen Antworten, letztendlich hat mir der Befehl "AdlibRegister" weitergeholfen. Ich werde mir jedoch eueren anderen Vorschläge auch noch anschauen =)
Gruß, cantax
Hallo,
mir ist jetzt schon öfters das Problem begegnet, dass ich z.B. eine Abfrage eines Zustandes permanent ausgeführt haben will, während eine andere Schleife durchlaufen wird. So wie in diesem Script:
[autoit]#include <Misc.au3>
Global $counter = 0
Global $StartStop = False
While 1
If _IsPressed ( 78 ) Then
Sleep (50)
If Not _IsPressed ( 78 ) Then
$counter = $counter +1
Call ( "RunStop" )
EndIf
EndIf
WEnd
Func RunStop()
If $counter = 1 Then
$StartStop = True
Call ( "Befehlskette" )
EndIf
If $counter = 2 Then
$StartStop = False
$counter = 0
EndIf
EndFunc
Func Befehlskette()
Do
;bliebige Befehle
Until $StartStop = False
EndFunc
Hier will ich eigentlich nur die 2. Schleife (mit beliebigen Befehlen) durch die Taste F9 (78) starten und auch wieder verlassen. Jedoch wird die 1. Schleife, die Taste F9 abfragt nicht mehr weiter ausgeführt, wenn die 2. Schleife aktiv ist.
Ja, mit dem Befehl "HotKeySet" würde die Überprüfung des Tastendrucks auch während eine andere Schleife durchlaufen wird funktionieren. Leider funktioniert der Befehl "HotKeySet" in meinem speziellen Fall nicht.
Jedoch ist es ja möglich mit dem Befehl "HotKeySet" oder z.B. wie bei jedem beliebigen Programm mit einer GUI und einem X oben rechts Zustände permanent abzufragen. Daher frage ich mich, wie wird das gemacht?
Zwei Schleifen gleichzeitig auszuführen ist ja anscheinend mit AutoIt nicht möglich. Geht das ganze überhaupt mit AutoIt?
Eine weitere Frage, ist es möglich eine Schleife SOFORT zu verlassen, wenn eine Bedingung erfüllt wird und nicht erst, wenn die Schleife zu Ende ist und diese Bedingung erfüllt wird? Der Befehl "ExitLoop" hilft mir in so einem Fall ja leider auch nicht weiter, so lange der Sleep-Timer läuft.
[autoit]While $Bedingung = True
MsgBox ( 0, "x", "test" )
Sleep ( 4000 )
WEnd
;or
[/autoit][autoit][/autoit][autoit]Do
MsgBox ( 0, "x", "test" )
Sleep ( 4000 )
Until $Bedingung = False
MfG, cantax