Veilig stoppen van je AutoIt-script met HotKeySet
soms loop je een autoit-script dat automatisch dingen doet, zoals klikken. Maar hoe zorg je dat je het script snel en veilig kunt stoppen? De functie HotKeySet is hier ideaal voor. Daarmee geef je een toets op waarmee je het script direct kunt afbreken, zonder dat het vastloopt.
Waarom snel stoppen belangrijk is
Stel, je laat een script klikken of iets anders doen, en je ziet dat het niet goed werkt. Dan wil je niet eerst het proces handmatig sluiten of de computer herstarten. Een knop die het script meteen stopt, is dan heel handig. Zo voorkom je frustratie en verlies van tijd.
hoe werkt HotKeySet?
HotKeySet koppelt een toets aan een functie. Als je die toets indrukt, wordt die functie uitgevoerd. Bijvoorbeeld: je maakt een functie die het script afsluit met Exit(). Die koppel je aan de toets Escape. Druk je op Escape, dan stopt het script meteen.
Tip: combineer dit met ConsoleWrite om een bericht te loggen als het script stopt. Zo weet je zeker dat het commando is uitgevoerd.
Stap voor stap een stoptoets maken
- Definieer een functie die het script afsluit, bijvoorbeeld
StopScript(). - Koppel die functie aan een toets via HotKeySet, bijvoorbeeld Escape (
{ESC}). - Laat het script doorlopen of zijn werk doen.
- Gebruik een
While-lus metsleep()om het script actief te houden en toetsen te kunnen detecteren. - Druk op de gekozen toets om het script veilig te stoppen.
Voorbeeldcode
; Koppel Escape aan StopScript functie
HotKeySet("{ESC}", "StopScript")
; Functie die het script afsluit
Func StopScript()
ConsoleWrite("Script wordt gestopt door gebruiker." & @CRLF)
Exit
EndFunc
; Hoofdprogramma: blijf actief tot stoptoets wordt ingedrukt
While True
Sleep(100) ; Houd CPU-gebruik laag
WEnd
Deze code zet Escape als stopknop. Het script blijft in een lus met een kleine pauze. Druk je op Escape, dan wordt
StopScript()
uitgevoerd en stopt het script netjes.
Let hier op
- Zet HotKeySet vóór je hoofdcode. Zo is de stoptoets altijd actief.
- Gebruik
Exitom je script echt te beëindigen zonder foutmeldingen. - In lange loops kan het nodig zijn om af en toe
Sleep()te gebruiken, zodat AutoIt toetsen registreert. - ConsoleWrite is optioneel, maar handig om te zien dat het script stopt.
Wil je hier logisch op doorgaan? Kijk dan ook naar AutoIt: tekst automatisch invoeren met Send-functie zonder fouten.
Bevers gedachte
Met HotKeySet zorg je voor een veilige exit uit je scripts. Dit voorkomt dat je vastloopt of processen handmatig moet afsluiten.De oplossing is simpel, compact en betrouwbaar. Zo houd je controle, zelfs bij automatisering die veel doet. Probeer het in je eigen scripts, dan heb je altijd een “noodknop” bij de hand.
Meer over HotKeySet vind je in de officiële documentatie: https://www.autoitscript.com/autoit3/docs/functions/HotKeySet.htm
