Hjemmeside » hvordan » Sådan sparer du tid ved at automatisere kedelige opgaver med AutoHotkey

    Sådan sparer du tid ved at automatisere kedelige opgaver med AutoHotkey

    Har du nogensinde haft brug for at udføre den samme tankeløse opgave igen og igen på din pc? I stedet for at spilde tid på klikknapper og trykke på nøgler, er dette den perfekte tid til at bruge dine AutoHotkey-færdigheder til at gøre din pc til at gøre arbejdet for dig.

    Bemærk: Dette særlige eksempel er en reel, som jeg brugte tidligere i dag for at spare lidt tid, men det er teknikker, jeg har brugt mange gange gennem årene for at bokstaveligt talt spare mig værdier for tid.

    Scenariet

    Jeg forsøgte at gå igennem og rense en masse ukorrekte udsendelsesmeddelelser i vores email nyhedsbrev konto, da jeg indså, at deres grænseflade krævede mig manuelt at klikke på knappen Slet og derefter bekræfte det på hver enkelt besked-vi taler om 300 forkerte meddelelser, der skulle slettes. For at gøre sager værre er grænsefladen ekstremt langsom, hvilket betyder, at jeg ville have brugt en god 30-40 minutter bare ved at klikke og gøre min karpaltunnel endnu værre.

    I stedet for at gøre det, oprettede jeg et nyt AutoHotkey-script og skrev hurtigt et script til at gøre arbejdet for mig.

    Det første skridt var at identificere præcis hvilke klik og nøgler jeg havde brug for at automatisere. Selvfølgelig er det første skridt at klikke på X-knappen, hvilket bringer op denne Ajax-bekræftelsesdialog:

    Heldigvis markeres knappen Slet automatisk, så du kan simpelthen trykke på mellemrumstasten for at bekræfte. Når optagelsen er slettet, glider alt op som om rækken aldrig var der. Når vi ved dette, fortsætter vi og skaber et script, der automatiserer klikke på X-knappen, venter 3 sekunder for bekræftelsesdialogboksen, trykker på mellemrumstasten og venter derefter endnu 3 sekunder for rækken til at forsvinde.

    Oprettelse af scriptet

    Det første, vi vil gøre, er at skabe en loop, der gentager de samme handlinger en række gange. I dette tilfælde vurderer vi, at vi skal gentage dette 300 gange, så vi bruger Loop syntaks som denne:

    Loop 300

    Nu skal vi automatisere klikhandlingen, som er let i AutoHotkey-du skriver bare klik. Du kan bruge en mere avanceret kliksyntax, hvis du vil, ved at vælge præcis, hvor du vil have det, at klikke på skærmen eller vælge klik på knappen. Til vores formål bruger vi bare standard, hvilket efterlader os med dette:

    Loop 300

    klik

    Nu klikker vores script 300 gange i træk, men desværre har vi den bekræftelsesdialog til at håndtere, så nu bruger vi Send-funktionen til at sende mellemrumstastet til det aktive vindue.

    Loop 300

    klik
    Send, Space

    Hvis du ser på dokumentationen, kan du se hele syntaksen for specielle nøgler. Der kan indtastes almindelige tastetryk normalt, for eksempel hvis du vil skrive prøve og derefter afslutte det med et rum, vil du bruge dette:

    Send, test Space

    Så nu har vi et script, der klikker på knappen og derefter rammer mellemrumstasten, hvilket ville være okay, medmindre grænsefladen er langsom, så vi skal indsætte en lille pause mellem hver udførelse af klik- og sendfunktionerne. For at opnå dette bruger vi Sleep-funktionen, som kun tager et argument - forsinkelsen i millisekunder.

    Loop 300

    sove 3000
    klik
    sove 3000
    Send, Space

    Nu har vi et script, der med succes vil slette genstandene og vente 3 sekunder før det starter, så du kan flytte musemarkøren over den første X, klikke på knappen og vente 3 sekunder, trykke på mellemrumstasten og vente derefter 3 sekunder inden det går gennem det næste sæt. Du kunne bruge dette enkle script lige nu, hvis du ville - men hvad hvis du vil stoppe scriptet?

    Hvad vi skal gøre er at bruge GetKeyState-funktionen til at kontrollere, om du har ramt en bestemt nøgle til at teste, vi bruger F8-tasten og tilføjer følgende til midten af ​​sløjfen. Dette vil registrere, om F8-tasten er blevet trykket, og brug derefter pause for at afslutte sløjfen.

    GetKeyState, state, F8
    hvis tilstand = D
    pause

    Det endelige script

    Her er det endelige script, som alle sammen sætter sammen, hvilket nok ikke hjælper dig for meget, da det er specifikt for mit scenario - men du kan bruge det til at lave dine egne scripts ved blot at ændre klik og tastetryk.

    Loop 300

    GetKeyState, state, F8
    hvis tilstand = D
    pause
    sove 3000
    klik
    sove 3000
    Send, Space

    Vend tilbage

    For at illustrere hvordan dette virker i praksis, her er en hurtig video, der viser det i aktion:

    I dette særlige scenario tog det mig ca. 3 minutter at kaste sammen en fungerende script-tid gemt: 27 minutter. Bare nok tid til mig til at optage videoen og skrive denne artikel!