Kuidas kirjutada skripti AutoHotkey

AutoHotkey on fantastiline, kuid keeruline tarkvara. Algselt oli see mõeldud kohandatud kiirklahvide taastamiseks erinevate toimingute jaoks, kuid nüüd on see täielik Windowsi automaatikakomplekt.

AHK-d pole uute kasutajate jaoks eriti raske õppida, kuna üldine kontseptsioon on üsna lihtne, kuid see on täielik, Turingi-terviklik programmeerimiskeel. Süntaksi võtate palju lihtsamalt üles, kui teil on programmeerimise taust või olete mõistetega tuttav.

AutoHotkey installimine ja kasutamine

AutoHotkey installiprotsess on lihtne. Laadige installer alla ametlikult veebisaidilt ja käivitage see. Valige „Kiirinstallimine”. Pärast tarkvara installimist saate paremklõpsata ükskõik kus ja valida uue skripti loomiseks Uus> AutoHotkey-skript.

AHK skriptid on tekstifailid, millel on a .ahk pikendamine. Kui paremklõpsate neid, saate mõned võimalused.

  • „Run Script” laadib teie skripti AHK-ga.
  • „Compile Script” komplekteerib selle AHK käivitatava failiga, et teha EXE-fail, mida saate käivitada.
  • „Redigeeri skripti” avab teie skripti vaiketekstiredaktoris. AHK-skriptide kirjutamiseks võite kasutada Notepadi, kuid soovitame kasutada AHK-i redaktorit SciTE4AutoHotkey, mis toetab süntakside esiletõstmist ja silumist.

Skripti töötamise ajal - olgu see siis EXE või mitte - leiate selle Windowsi teavitusalas, mida nimetatakse ka süsteemseks salveks, taustal. Otsige rohelist ikooni, millel on täht “H”.

Skriptist väljumiseks, peatamiseks, uuesti laadimiseks või redigeerimiseks paremklõpsake teateikooni ja valige sobiv valik. Skriptid töötavad taustal seni, kuni neist väljute. Need kaovad muidugi ka siis, kui logite Windowsist välja või taaskäivitate arvuti.

Kuidas AutoHotkey töötab?

Oma keskmes teeb AHK üht - seob toimingud kiirklahvidega. Seal on palju erinevaid toiminguid, kiirklahvide kombinatsioone ja juhtimisstruktuure, kuid kõik skriptid töötavad samal põhimõttel. Siin on põhiline AHK-skript, mis käivitab Google Chrome alati, kui vajutate Windows + C:

#c :: Käivita Chrome return

Esimene rida määrab kiirklahvi. Naelamärk (#) on Windowsi klahvi ja c on klaviatuuri C-klahv. Pärast seda on topeltkoolon (: :), mis tähistab tegevusploki algust.

Järgmine rida on tegevus. Sel juhul käivitab toiming rakenduse Jookse käsk. Plokk on lõpetatud tähega tagasi lõpus. Enne. Saate teha mis tahes arvu toiminguid tagasi. Nad kõik tulistavad järjestikku.

Täpselt samamoodi olete määranud lihtsa võtme-tegevuse kaardistamise. Saate sellesse paigutada nii palju kui soovite .ahk fail ja seadistage see taustal töötama, otsides alati kiirklahve, mida uuesti muuta.

Kiirklahvid ja teisendajad

AHK modifikaatorite täieliku loendi leiate ametlikust dokumendist, kuid keskendume kõige kasulikumatele (ja lahedamatele) funktsioonidele.

Kõigil muuteklahvidel on ühe tähemärgiga lühikesed tähed. Näiteks, # ! ^ + on vastavalt Windows, Alt, Control ja Shift. Samuti saate klahviga eristada vasakut ja paremat Alt, Control ja Shift < ja > modifikaatorid, mis avab palju ruumi ekstra kiirklahvide jaoks. Näiteks + on õige Shift. Heitke pilk võtmete loendisse, millele saate viidata. (Spoiler: saate viidata peaaegu kõigile klahvidele. Võite viidata isegi teistele klaviatuurivälistele väikese laiendiga sisendseadmetele).

Saate ühendada nii palju klahve kui soovite, üheks kiirklahviks, kuid peagi jäävad võtmekombinatsioonid meelde. Siin tulevad sisse modifikaatorid, mis võimaldavad teil teha hullumeelsemaid asju. Toogem näide AHK dokumentidest:

Roheline #IfWinActive nimetatakse adirektiivja rakendab skriptis selle all füüsiliselt kiirklahvide jaoks täiendavat konteksti. Iga kiirklahv pärast seda käivitub ainult siis, kui tingimus on tõene ja saate grupeerida mitu kiirklahvi ühe käsu alla. Seda direktiivi ei muudeta enne, kui jõuate mõne muu direktiivini, kuid saate selle lähtestada tühjaga #Kui (ja kui see tundub häkkimisena, siis tere tulemast AHK-sse).

Siinne direktiiv kontrollib, kas konkreetne aken on avatud ahk_class Notepad. Kui AHK saab sisendi „Win + C“, käivitab see esimese toimingu #IfWinActive ainult siis, kui direktiiv vastab tõele, ja kontrollige siis teist, kui see pole nii. AHK-l on palju direktiive ja need kõik leiate dokumentidest.

AutoHotkey'il on ka kiirklahvid, mis toimivad nagu kiirklahvid, välja arvatud terve tekstistringi asendamine. See sarnaneb autoparanduse toimimisega - tegelikult on AHK-l olemas autokorrektne skript -, kuid see toetab kõiki AHK-toiminguid.

Kiirklahv sobib stringiga ainult siis, kui see on täpselt sisestatud. See eemaldab sobitatud teksti automaatselt ka hotstringi asendamiseks, kuigi seda käitumist saab reguleerida.

Toimingud

Toiming AHK-s on kõik, millel on opsüsteemile väline mõju. AHK-l on palju tegevusi. Me ei saa neid kõiki seletada, seega valime välja mõned kasulikud.

  • Sisendi saatmine, olgu see siis tekst või mitmesugused nupuvajutused.
  • Hiire liigutamine. Tegelikult on AHK mõnikord ekslikult märgitud videomängude pettustarkvaraks, kuna inimesed on sellega teinud täielikult toimivad aimbotid.
  • Klõps hiirega positsioneerimisega praeguse akna suhtes.
  • Kuvatakse dialoogimenüüd koos vormide ja sisestusväljadega.
  • Akende ümbertõstmine, suuruse reguleerimine ning avamine ja sulgemine.
  • Muusika mängimine.
  • Kirjutamine Windowsi registrisse. Jah, tõesti.
  • Lõikepuhvri sisu muutmine.
  • Failide lugemine ja kirjutamine. Saate faile sirvida ja igal real toiminguid käivitada. AHK saab isegi kirjutada .ahk faile ja kohandage oma koodi.

Enamikul neist toimingutest on seotud ka teabele suunatud käsud. Näiteks võite kirjutada lõikelauale, kuid saate ka lõikepuhvri sisu muutujana salvestada ja funktsioone käivitada, kui lõikelauale muutub.

Selle kõik sidumine juhtstruktuuridega

AHK ei oleks see, mis ta on, ilma et kõik juhtimisstruktuurid muudaksid selle Turingi-tervikuks.

Lisaks #Kui direktiividele on teil ka juurdepääs Kui tegevusplokkide sees. AHK-l on Sest aasad, lokkis traksid, Proovige ja Saak avaldused ja paljud teised. Välisandmetele pääsete juurde toimimisplokist ja salvestage need hiljem kasutatavatesse muutujatesse või objektidesse. Saate määratleda kohandatud funktsioonid ja sildid. Tõesti, kõike, mida saaksite hõlpsasti teha mõnes muus programmeerimiskeeles, võite tõenäoliselt teha AHK-s, natuke peavalu ja dokumentide vaatamist.

Kujutage näiteks ette, et teil on igav ja korduv ülesanne, mis nõuab, et klõpsaksite mitmel nupul järjest ja ootaksite serveri vastust, enne kui teete seda uuesti lõpmatult. Selle automatiseerimiseks võite kasutada AHK-d. Hiire kindlatesse kohtadesse viimiseks peaksite määratlema mõned silmused, klõpsake ja liikuge järgmisele kohale ja klõpsake uuesti. Visake mõned ooteavaldused sisse, et see ei puruneks. Võite isegi proovida ekraanilt pikslite värvi lugeda, et teha kindlaks, mis toimub.

Üks on kindel - teie skript pole ilmselt ilus. Kuid ka AutoHotkey pole seda ja see on okei.