10Aug
Už ste niekedy potrebovali vykonať rovnakú bezohľadnú úlohu znova a znova v počítači? Namiesto strávenia hodín stláčaním tlačidiel a stláčaním klávesov je to ten správny čas na používanie zručností AutoHotkey, aby váš počítač pracoval pre vás.
Poznámka: Tento konkrétny príklad je skutočný, ktorý som dnes skôr použil na to, aby som ušetril trochu času, ale to sú techniky, ktoré som v priebehu rokov mnohokrát používal, aby som doslova ušetril dni v hodnote času.
Scenár
Snažil som sa prejsť a vyčistiť veľa spamových správ v našom e-mailovom spravodajstve, keď som si uvedomil, že ich rozhranie vyžaduje manuálne kliknúť na tlačidlo Odstrániť a potom ho potvrdiť pri každej jednotlivej správe -hovoriť o 300 nesprávnych správ, ktoré bolo potrebné odstrániť.Aby to bolo ešte horšie, rozhranie je extrémne pomalé, čo znamená, že by som strávil dobrú 30-40 minút len kliknutím a urobil by som môj karpálny tunel ešte horší.
Namiesto toho som vytvoril nový skript AutoHotkey a rýchlo napísal skript, aby som pre mňa pracoval.
Prvým krokom bolo presne zistiť, ktoré kliknutia a kľúče som potreboval na automatizáciu - samozrejme, prvým krokom je kliknutie na tlačidlo X, ktoré vyvolá tento potvrdzovací dialóg Ajax:
Našťastie tlačidlo Delete je automaticky zvýraznené, takže môžete jednoduchostlačte medzerník na potvrdenie. Akonáhle bol záznam odstránený, všetko sa posunie, ako keby to riadok nikdy nebol. Vďaka tomu budeme pokračovať a vytvoríme skript, ktorý automatizuje kliknutie na tlačidlo X, čaká 3 sekundy na potvrdzovací dialóg, stlačí medzerník a potom čaká ďalších 3 sekúnd, kým riadok zmizne.
Vytvorenie skriptu
Prvá vec, ktorú budeme chcieť urobiť, je vytvoriť slučku, ktorá opakovane opakuje rovnaké akcie - v tomto prípade odhadujeme, že to bude potrebné 300 krát opakovať, takže sme'Použijete syntax slučky takto:
Loop 300
{
}
Teraz budeme musieť automatizovať kliknutie, čo je jednoduché v AutoHotkey - stačí zadať kliknúť .Ak chcete, môžete použiť pokročilejšiu syntax kliknutí, presne tam, kde chcete kliknúť na obrazovku alebo kliknutím na tlačidlo kliknúť.Pre naše účely budeme používať predvolené nastavenie, ktoré nám zanecháva toto:
Loop 300
{
click
}
Teraz náš skript klikne 300 krát za sebou, ale bohužiaľ máme potvrdzovací dialógvysporiadajte sa s tým, takže teraz použijeme funkciu Odoslať na odoslanie tlačidla medzerníka do aktívneho okna.
Loop 300
{
kliknite
Odoslať,{ Space}
}
Ak sa pozriete na dokumentáciu, uvidíte všetky syntaxy pre špeciálne klávesy - bežné zadávanie klávesových skratiek môže byť zadané normálne - napríklad, ak ste chceli zadať test a potom ho ukončite medzerou, použite toto:
Poslať, test{ Space}
Takže teraz máme skript, ktorý klikne na tlačidlo a potom zasiahne medzerník, čo by bolo v poriadku okrem rozhraniaje pomalý, takže musíme vložiť malú prestávku medzi každým spustením funkcií kliknutia a odoslania. Aby sme to dosiahli, použijeme funkciu Sleep, ktorá trvá len jeden argument - oneskorenie v milisekundách.
Loop 300
{
spánok 3000
kliknite na
spánok 3000
Pošlite{
}
Teraz máme skript, ktorý úspešne odstráni položky a čaká 3 sekundy pred spustením, aby ste mohli posúvať kurzor myšinad prvým X, kliknutím na tlačidlo, čakaním na 3 sekundy, stlačením medzerníka a potom čakaním na 3 sekundy, kým prejde ďalšia sada. Môžete použiť tento jednoduchý skript práve teraz, ak ste chceli - ale čo, ak chcete skript zastaviť?
Čo urobíme, je použiť funkciu GetKeyState, aby ste skontrolovali, či ste narazili na určitý kľúč - na testovanie, použijeme kľúč F8 a do stredu slučky pridáme nasledujúce. Tým sa zistí, či bola stlačená klávesa F8, a potom použijete prestávku na opustenie slučky.
GetKeyState, stav, F8
ak state = D
break
Posledný skript
Tu je finálny skript, ktorý je celkom spojený, čo vám pravdepodobne príliš nepomôže, pretože je to špecifické pre môj scenár - ale môžete ho použiť na vytvorenievlastné skripty jednoduchou úpravou kliknutí a odosielaním klávesov.
Loop 300
{
GetKeyState, štát, F8
, ak je stav = D
break
spánok 3000
kliknúť
spať 3000
Poslať{
}
Späť
Ak chcete ilustrovať, ako to funguje v praxi,ukazuje to v akcii:
V tomto konkrétnom scenári mi trvalo asi 3 minúty, aby zhromaždili pracovný skript uložený čas: 27 minút. Stačí len na to, aby som zaznamenal video a napísal tento článok!