Cum se scrie un script AutoHotkey

AutoHotkey este un program fantastic, dar complicat. Inițial, a fost intenționat să relegați tastele rapide personalizate la diferite acțiuni, dar acum este o suită completă de automatizare Windows.

AHK nu este deosebit de greu de învățat pentru utilizatorii noi, deoarece conceptul general este destul de simplu, dar este un limbaj de programare complet, complet Turing. Veți prelua sintaxa mult mai ușor dacă aveți cunoștințe de programare sau sunteți familiarizat cu conceptele.

Instalarea și utilizarea AutoHotkey

Procesul de instalare al AutoHotkey este simplu. Descărcați instalator de pe site-ul oficial și rulați-l. Alegeți „Instalare rapidă”. După ce ați instalat software-ul, puteți face clic dreapta oriunde și selectați Nou > Script AutoHotkey pentru a crea un script nou.

Scripturile AHK sunt fișiere text cu extensia .ahk. Dacă faceți clic dreapta pe ele, veți avea câteva opțiuni:

„Run Script” vă va încărca scriptul cu runtime AHK.
„Scriptul de compilare” îl va combina cu un executabil AHK pentru a crea un fișier EXE pe care îl puteți rula.
„Edit Script” vă va deschide scriptul în editorul de text implicit. Puteți folosi Notepad pentru a scrie scripturi AHK, dar vă recomandăm să utilizați SciTE4AutoHotkey, un editor pentru AHK care acceptă evidențierea sintaxei și depanarea.

În timp ce rulează un script, indiferent dacă este un EXE sau nu, îl veți găsi rulând în fundal în zona de notificare Windows, cunoscută și sub numele de bara de sistem. Căutați pictograma verde cu un „H” pe ea.

Pentru a ieși, întrerupe, reîncărca sau edita un script, faceți clic dreapta pe pictograma de notificare și selectați o opțiune adecvată. Scripturile vor continua să ruleze în fundal până când le ieșiți. De asemenea, vor dispărea atunci când vă deconectați de la Windows sau reporniți computerul, desigur.

  Puteți juca jocuri PS4 pe PS5? Iată ce ar trebui să știți

Cum funcționează AutoHotkey?

În esență, AHK face un lucru: leagă acțiunile de taste rapide. Există o mulțime de acțiuni diferite, combinații de taste rapide și structuri de control, dar toate scripturile vor funcționa pe același principiu. Iată un script AHK de bază care lansează Google Chrome ori de câte ori apăsați Windows+C:

#c::
Run Chrome
return

Prima linie definește o tastă rapidă. Semnul lire sterline (#) este prescurtare pentru tasta Windows și c este tasta C de pe tastatură. După aceea, există două puncte duble (::) pentru a semnifica începutul unui bloc de acțiune.

Următoarea linie este o acțiune. În acest caz, acțiunea lansează o aplicație cu comanda Run. Blocul se termină cu o întoarcere la final. Puteți avea orice număr de acțiuni înainte de întoarcere. Toate vor trage secvențial.

Exact așa, ați definit o mapare simplă de la cheie la acțiune. Puteți plasa oricât de multe dintre acestea doriți într-un fișier .ahk și îl puteți seta să ruleze în fundal, căutând mereu taste rapide pentru a remapa.

Taste rapide și modificatoare

Puteți găsi o listă completă a modificatorilor AHK în documentația oficială, dar ne vom concentra pe cele mai utile (și cool) caracteristici.

Tastele modificatoare au toate prescurtarea unui singur caracter. De exemplu, # ! ^ + sunt Windows, Alt, Control și, respectiv, Shift. De asemenea, puteți diferenția între Alt, Control și Shift din stânga și din dreapta cu ajutorul modificatorilor, ceea ce deschide mult spațiu pentru taste rapide suplimentare. De exemplu, + este Shift dreapta. Aruncă o privire la lista de chei pentru tot ce vă puteți referi. (Spoiler: Puteți face referire la aproape fiecare tastă. Puteți chiar să faceți referire la alte dispozitive de intrare fără tastatură cu un extensie mică).

Puteți combina câte taste doriți într-o singură tastă rapidă, dar în curând veți rămâne fără combinații de taste de reținut. Aici intervin modificatorii, care vă permit să faceți lucruri mai nebunești. Să descompunem un exemplu din documentele AHK:

  Ce este Microsoft Editor și cum îl folosesc?

Verdele #IfWinActive se numește directivă și aplică un context suplimentar la tastele rapide sub ea în script. Orice tastă rapidă după aceasta se va declanșa numai dacă condiția este adevărată și puteți grupa mai multe taste rapide sub o singură directivă. Această directivă nu se va schimba până când nu atingeți o altă directivă, dar o puteți reseta cu un #If necompletat (și dacă pare un hack, bine ați venit la AHK).

Directiva de aici verifică dacă o anumită fereastră este deschisă, definită de ahk_class Notepad. Când AHK primește intrarea „Win+C”, va declanșa acțiunea sub primul #IfWinActive numai dacă directiva a returnat adevărată, iar apoi o va verifica pe a doua dacă nu a făcut-o. AHK are o mulțime de directive și le puteți găsi pe toate în documentele.

AutoHotkey are, de asemenea corzi fierbinți, care funcționează ca tastele rapide, cu excepția înlocuirii unui întreg șir de text. Acest lucru este similar cu modul în care funcționează corectarea automată – de fapt, există o script de corectare automată pentru AHK—dar acceptă orice acțiune AHK.

Coardul fierbinte se va potrivi cu șirul numai dacă este tastat exact. Acesta va elimina automat textul potrivit pentru a înlocui șirul fierbinte, deși acest comportament poate fi ajustat.

Acțiuni

O acțiune în AHK este orice lucru care are un efect exterior asupra sistemului de operare. AHK are o mulțime de acțiuni. Nu le putem explica pe toate, așa că le vom alege pe unele utile.

Se trimite intrare, fie că este vorba de text sau de apăsări diferite de butoane.
Mișcarea mouse-ului. De fapt, AHK este uneori marcat în mod eronat ca software de înșelăciune pentru jocuri video, deoarece oamenii au creat aimbot-uri pe deplin funcționale cu el.
Făcând clic cu mouse-ul, cu poziționarea față de fereastra curentă.
Afișarea meniurilor de dialog, completați cu formulare și câmpuri de introducere.
Mișcarea ferestrelor, reglarea dimensiunii și deschiderea și închiderea.
A canta.
Scrierea în Registrul Windows. Da într-adevăr.
Modificarea conținutului Clipboard-ului.
Citirea și scrierea fișierelor. Puteți parcurge fișierele și puteți executa acțiuni pe fiecare linie. AHK poate chiar să scrie în fișiere .ahk și să își ajusteze propriul cod.

  Cum să vă curățați consola și controlerul PS5 în mod corect

Majoritatea acestor acțiuni vor avea asociate și comenzi orientate către informații. De exemplu, puteți scrie în clipboard, dar puteți, de asemenea, ca conținutul Clipboard-ului să fie stocat într-o variabilă și să rulați funcții atunci când clipboardul se schimbă.

Legați totul cu structurile de control

AHK nu ar fi ceea ce este fără toate structurile de control care îl fac Turing-complet.

Pe lângă directivele #If, aveți și acces la Dacă în interiorul blocurilor de acțiune. AHK are Pentru bucle, bretele ondulate blocuri, Încerca și declarații Catch și multe altele. Puteți accesa datele din exterior din blocul de acțiuni și le puteți stoca variabile sau obiecte pentru a folosi mai târziu. Puteți defini funcții personalizate și etichete. Într-adevăr, orice ai putea face cu ușurință într-un alt limbaj de programare, probabil că poți face în AHK cu puțină durere de cap și o privire prin documente.

De exemplu, imaginați-vă că aveți o sarcină plictisitoare, repetitivă, care vă cere să faceți clic pe mai multe butoane la rând și să așteptați ca un server să răspundă înainte de a o repeta la infinit. Puteți utiliza AHK pentru a automatiza acest lucru. Ați dori să definiți câteva bucle pentru a muta mouse-ul în anumite locații, faceți clic, apoi treceți la locul următor și faceți din nou clic. Aruncă câteva declarații de așteptare pentru a nu se sparge. Ai putea chiar să încerci citiți culoarea pixelilor de pe ecran pentru a determina ce se întâmplă.

Un lucru este sigur – scenariul tău probabil nu va fi frumos. Dar nici AutoHotkey nu este și asta e în regulă.