Hvordan spare tid ved å automatisere kjedelige oppgaver med AutoHotkey
Har du noen gang trengte å utføre samme tankeløse oppgave igjen og igjen på din PC? I stedet for å kaste bort klokkeslett og klikke på taster, er dette den perfekte tiden til å bruke AutoHotkey-ferdighetene dine for å få PCen til å gjøre jobben for deg..
Merk: Dette spesielle eksempelet er en ekte som jeg brukte tidligere i dag for å spare litt tid, men det er teknikker jeg har brukt mange ganger gjennom årene for å bokstavelig talt spare meg selv dager verdt tid.
Scenarioet
Jeg prøvde å gå gjennom og rydde ut en rekke feil sendte meldinger i vårt nyhetsbrev konto da jeg skjønte at grensesnittet deres krever at jeg manuelt klikker på Slett-knappen og bekrefter det på hver enkelt melding - vi snakker om 300 Feilmeldinger som måtte slettes. For å gjøre saken verre, er grensesnittet ekstremt sakte, noe som betyr at jeg ville ha brukt en god 30-40 minutter bare å klikke og gjøre min karpaltunnel enda verre.
I stedet for å gjøre det, opprettet jeg et nytt AutoHotkey-skript og skrev raskt et skript for å gjøre arbeidet for meg.
Det første trinnet var å identifisere nøyaktig hvilke klikk og nøkler jeg trengte å automatisere. Åpenbart er det første trinnet å klikke på X-knappen, som gir denne Ajax-bekreftelsesdialogen:
Heldigvis er slettknappen automatisk uthevet, så du kan ganske enkelt trykke på mellomromstasten for å bekrefte. Når platen er slettet, glir alt opp som om raden aldri var der. Å vite dette, vil vi fortsette og lage et skript som automatiserer klikke på X-knappen, venter 3 sekunder for bekreftelsesdialogboksen, trykker på mellomromstasten og venter deretter ytterligere 3 sekunder for at rækken skal forsvinne.
Opprette skriptet
Det første vi vil gjøre er å lage en sløyfe som gjentar de samme handlingene en rekke ganger. I dette tilfellet anslår vi at vi må gjenta dette 300 ganger, så vi bruker Loop syntaks som dette:
Loop 300
Nå må vi automatisere klikkhandlingen, som er lett i AutoHotkey-du skriver bare inn klikk. Du kan bruke en mer avansert klikksyntax hvis du vil, velge nøyaktig hvor du vil at den skal klikke på skjermen, eller velge knappeklikk. For våre formål bruker vi bare standard, som etterlater oss med dette:
Loop 300
klikk
Nå klikker skriptet 300 ganger på rad, men dessverre har vi denne bekreftelsesdialogboksen for å håndtere, så nå bruker vi Send-funksjonen for å sende mellomromstastet til det aktive vinduet.
Loop 300
klikk
Sende, Space
Hvis du ser på dokumentasjonen, vil du se hele syntaksen for spesielle taster. Vanlige tastetrykk kan skrives inn normalt, for eksempel hvis du vil skrive test og deretter avslutte det med et rom, vil du bruke dette:
Send, test Space
Så nå har vi et skript som klikker på knappen og deretter treffer mellomromstasten, noe som ville være bra, bortsett fra at grensesnittet er sakte, så vi må sette inn en liten pause mellom hver utførelse av klikk- og sendfunksjonene. For å oppnå dette, bruker vi Sleep-funksjonen, som bare tar ett argument - forsinkelsen i millisekunder.
Loop 300
sove 3000
klikk
sove 3000
Sende, Space
Nå har vi et skript som vil slette elementene, venter 3 sekunder før det starter slik at du kan flytte musepekeren over den første X, klikke på knappen og venter 3 sekunder, trykker på mellomromstasten og venter deretter 3 sekunder før det går gjennom neste sett. Du kan bruke dette enkle skriptet akkurat nå hvis du ville - men hva hvis du vil stoppe skriptet?
Hva vi skal gjøre er å bruke GetKeyState-funksjonen for å sjekke om du har tastet en bestemt nøkkel til testing, vi bruker F8-tasten og legger til følgende i midten av løkken. Dette vil oppdage om F8-tasten er trykket, og bruk deretter pause for å avslutte sløyfen.
GetKeyState, state, F8
hvis tilstand = D
gå i stykker
The Final Script
Her er det endelige skriptet samlet sammen, noe som sannsynligvis ikke hjelper deg for mye siden det er spesifikt for scenariet, men du kan bruke det til å lage dine egne skript ved ganske enkelt å endre klikk og tastetrykkssending.
Loop 300
GetKeyState, state, F8
hvis tilstand = D
gå i stykker
sove 3000
klikk
sove 3000
Send, Space
Komme tilbake
For å illustrere hvordan dette fungerer i praksis, er det en rask video som viser det i aksjon:
I dette spesielle scenariet tok det omtrent 3 minutter å kaste sammen et fungerende script-tid lagret: 27 minutter. Bare nok tid for meg å ta opp videoen og skrive denne artikkelen!