10Aug

Kuidas säästa aega, automatiseerides tüütu ülesandeid AutoHotkey abil

Kas teil on kunagi vaja teha sama meeletu ülesanne ikka ja jälle oma arvutis? Selle asemel, et raisata tundi nuppe ja lüüa võtmeid, on see parim aeg kasutada oma AutoHotkey oskusi, et teie arvuti saaks teie jaoks tööd.

Märkus: See konkreetne näide on tõeline, mida ma varem täna kasutasin, et pisut aega salvestada, kuid need on tehnikad, mida olen aastaid korduvalt mitu korda kasutanud, et sõna otseses mõttes säästa ennast päeva väärtust.

Stsenaarium

Üritasin oma e-posti uudiskirja kontol läbi lugeda hulga ebaõnnestunud teadeteateid, kui mõistsin, et nende liides nõuab mind käsitsi nupu Kustuta kustutamiseks ja seejärel kinnitamiseks iga üksiku sõnumi puhul -räägiti umbes 300 vales sõnumist, mida oli vaja kustutada. Olukorra halvemaks muutmisel on liides äärmiselt aeglane, mis tähendab, et oleksin kulutanud 30-40 minuti pärast lihtsalt klõpsamist ja mu karpaalkanali halvimist.

Selle asemel asutasin uue AutoHotkey skripti ja kirjutasin kiiresti üles skripti, mis teeb minu jaoks tööd.

Esimene samm oli täpselt kindlaks teha, millised klikid ja võtmed vajasin automatiseerimiseks. Ilmselgelt on esimene samm klõpsata nupul X, mis avab selle Ajaxi kinnituste dialoogi:

Õnneks on nupp Delete automaatselt esile tõstetud, nii et saate lihtsaltVajuta Space klahvi, et kinnitada. Kui rekord on kustutatud, libiseb kõik nii, nagu oleks reas kunagi seal olnud. Seda teadvustades liigume edasi ja loome skripti, mis automaatselt klõpsab nupul X, kinnituse dialoogi ootele 3 sekundit, vajutab vahelehte ja seejärel ootab veel 3 sekundit, kuni rida kaob.

Script

loomine Esimene asi, mida me tahame teha, on luua loop, mis kordab samu toiminguid mitmel korral - me arvame, et peame seda korda 300 korda korrata, nii et meKasutan silmuse süntaksi järgmiselt:

Loop 300
(

)

Nüüd peame automaatselt tegema automaatse klõpsamise toimingu, mis on AutoHotkey'is lihtne - sisestage lihtsalt nupp .Soovi korral saate kasutada täpsemat klahvikordade süntaksit, valides täpselt, kuhu soovite ekraanil klõpsata või klõpsates nuppu valida. Meie eesmärkidel kasutame lihtsalt vaikimisi, mis jätab meile selle:

Loop 300
(
kliki
)

Nüüd meie skript klõpsatakse 300 korda järjest, kuid kahjuks on meil selle kinnitusdialoogisiis tegeleme, nii et nüüd kasutame funktsiooni Saada, et saata tühikuklahvi aktiivsele aknale.

Loop 300
{
kliki
Saada,{ Space}
}

Kui vaatate dokumente, näete kõiki spetsiaalsete võtmete süntaksi - tavapäraseid klahvivajutusi saab sisestada normaalselt - näiteks kui soovid kirjutada test ja lõpetage see ruumiga, kasutage seda:

Send, test{ Space}

Nii et nüüd on meil olemas skript, mis klõpsab nupul ja seejärel tabab tühikut, mis oleks küll ainult liideson aeglane, seega peame iga klõpsu sooritamise ja funktsiooni saatmise vahel sisestama väikese pausi. Selle saavutamiseks kasutame unerežiimi funktsiooni, mis võtab ainult ühe argumendi - viivitus millisekundites.

Loop 300
{
sleep 3000
klõpsake
sleep 3000
Saada,{ Space}
}

Nüüd on meil skript, mis eemaldab elemendid edukalt, oodates 3 sekundit enne selle käivitamist, et saaksite hiirekursoritesimese X-i ajal, klõpsates nupul, oodates 3 sekundit, libistage tühikut ja seejärel oodake 3 sekundit enne järgmise komplekti läbimist. Sa võiksid kasutada seda lihtsat skripti kohe, kui sa tahad, aga mis siis, kui soovite skripti peatada?

Mida me teeme, on kasutada GetKeyState funktsiooni, et kontrollida, kas olete tabanud mõnda kindlat võtmetegurit, kasutame võtme F8 ja lisame silmuse keskel järgmise. See tuvastab, kas F8-klahv on vajutatud, ja kasuta loopist väljumiseks pausi.

GetKeyState, State, F8
, kui olek = D
break

Lõplik skript

Siin on viimane skript, mis kõik on kokku pandud, mis tõenäoliselt ei aita teid liiga palju, sest see on minu stsenaariumi jaoks spetsiifiline, kuid võite seda kasutada oma loomiseksoma skripte lihtsalt klikkide ja klahvikombinatsioonide saatmise muutmisega.

Loop 300
{
GetKeyState, state, F8
kui olek = D
break
sleep 3000
kliki
sleep 3000
Saada,{ space}
}
Tagasi

Selleks, et illustreerida, kuidas see praktikas toimib, on siin kiire videonäitab seda toimingus:

Selle konkreetse stsenaariumi puhul kulus kokku umbes 3 minutit, salvestades kokku töötatud stsenaariumi: 27 minutit. Mul on lihtsalt piisavalt aega video salvestamiseks ja selle artikli kirjutamiseks!