Code:
HOTKEYSET("{F8}","Ende") ; wenn F8 gedrückt wird, wird Func Ende() aufgerufen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("", 344, 246, 192, 124, $WS_POPUP) ; form wird erstellt > $WS_POPUP sorgt dafür, dass der Rand, wo auch minimieren ist, entfernt wird.
$Slider = GUICtrlCreateSlider(88, 144, 182, 29) ; Slider wird erstellt
GUICtrlSetLimit($Slider, 11, 1) ; Slider limit wird festgelegt ( 11 Linien = start bei 1 )
$Input1 = GUICtrlCreateInput("", 129, 56, 111, 21) ; Input wird erstellt > zum Fenstername angeben
$Start = GUICtrlCreateButton("Start", 24, 208, 75, 25, $WS_GROUP) ; Button für Start wird erstellt
$Beenden = GUICtrlCreateButton("Beenden", 248, 208, 75, 25, $WS_GROUP) ; Button für das Beenden wird erstellt
$Pic1 = GUICtrlCreatePic("background.jpg", 0, 0, 356, 360, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ; fügt das Bild in die GUI ein
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Beenden ; Zuweisen > wenn Button Beenden gedrückt wird, dann wird Func Ende() aufgerufen
Ende()
Case $Start ; Zuweisen > wenn Button Start gedrückt wird, dann wird der folgende Befehl ausgeführt.
If (GUICtrlRead($Slider)) = 1 Then ; Wenn Slider auf Wert 1 ist, dann ...
While 1 ; Anfang Endlosschleife
WinWaitActive(GUICtrlRead($Input1)) ; Warte, bis Fenstername, der in Input 1 angegeben wurde, aktiv ist.
sleep ( 300 ) ; warten / schlafen für 300 Millisekunden
send ( "y" ) ; sendet Taste "y"
WEnd ; Ende der Endlosschleife
EndIf ; Ende der If Funktion
If (GUICtrlRead($Slider)) = 2 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 250 ) ; selbe wie oben
send ( "y" )
WEnd
EndIf
If (GUICtrlRead($Slider)) = 3 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 200 ) ; selbe wie oben
send ( "y" )
WEnd
EndIf
If (GUICtrlRead($Slider)) = 4 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 175 ) ; selbe wie oben
send ( "y" )
WEnd
EndIf
If (GUICtrlRead($Slider)) = 5 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 150 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 6 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 125 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 7 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 100 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 8 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 75 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 9 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 50 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 10 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
sleep ( 25 ) ; selbe wie oben
send ( "y" )
WEnd
EndIF
If (GUICtrlRead($Slider)) = 11 Then
While 1
WinWaitActive(GUICtrlRead($Input1))
send ( "y" )
WEnd
EndIF
EndSwitch
WEnd
Func Ende() ; Wenn Button Beenden geklickt wird, dann wird die Funktion aufgerufen und der Befehl ausgeführt
Exit ; Beenden des Programmes/Bots
EndFunc
; Das WinWaitActive hätte man auch so einbauen können, dass er es alle paar Sekunden kontrolliert. Aber so geht es in diesem Fall halt auch.