of 5

Az AutoHotKey program bemutatása

Published on 4 days ago | Categories: Documents | Downloads: 5 | Comments: 0
970 views

Comments

Content

Az AutoHotkey egy ingyenes szkript program, melynek segítségével inputokat küldhetünk Windows programjainknak. Sokféle szituációban szabadíthat meg bennünket az olyan unalmas repetitív műveletektől, mint például az űrlapok kézzel történő kitöltögetése. A progi letöltés és telepítés után, első indításkor rákérdez, hogy létrehozzon-e egy alapértelmezett mintaszkriptet magának, erre nyomjunk bátran igent, részemről még sosem éreztem szükségét, hogy külön szkriptfájlokkal dolgozzak, mindig csak ebbe az alap fájlba írtam új bejegyzéseket. (Mivel a kód kommentelhető, így könnyű adott parancsokat ki-be kapcsolgatni benne.) Miután elindult, egy H betűs zöld ikon jelenik meg a Tálca értesítési területén, ezen jobb klikkel lehet előhívni a szkript fájlját szerkesztésre (Edit This Script), majd alkalmazni az átírt szkript szabályait (Reload This Script ugyanitt) – fontos megjegyezni, hogy a program magától nem figyeli a fájlt, így szerkesztés után mindig ki kell választanunk ezt a menüpontot. Ha valamit elrontottunk a scriptben, pl. szintaktikai vagy egyéb hibát vétettünk, és emiatt bánata van a programnak, azt ilyenkor jelzi, és a hiba helyét is. A Pause Script opció a szkript futását függeszti fel, míg a Suspend Hotkeys a szkriptben beállított gyorsbillentyűket kapcsolja ki ideiglenesen. A program szintaxisa nem túl bonyolult, mintakódokkal fogom bemutatni, úgy egyszerűbb. t:: Send, zzz return Ez a kód a T betű gombját programozza át, megnyomása egyenértékű lesz azzal, mintha három ”z”-t írtunk volna be. A gyorsbillentyűk definiálásánál először meg kell adni a billentyűt, majd két kettősponttal elválasztva az alkalmazandó szabályt, melyet a return szó zár. A szkriptben kommenteket helyezhetünk el a pontosvessző karakter segítségével, az e karakter után következő szöveget vagy kódot a sorban a program figyelmen kívül hagyja. (Assembly nyelvből ismerős lehet a módszer.) De a /* */ típusú kommentelés is működik. (Ez pedig C-ből lehet ismerős.) A fenti kódot például ekképp kommentelhetjük: ; Első példa t:: ; szimpla T-re Send, zzz ; zzz-t ír /* ide jöhet még bármi később */ return ; majd kilép az utasításból ; fincsi mi? Ez a funkció már önmagában is sok gépeléstől kímélhet meg minket, de praktikusabb, ha a módosító billentyűkhöz kötjük a billentyűparancsokat, azaz a Control, Alt, Shift, vagy a Windows gombhoz, vagy akár ezek közül többhöz is, így elkerülve a véletlen futtatásokat.

Mindegyik módosító billentyűhöz külön jelölőszimbólum tartozik: ^ + ! #

Control Shift Alt Windows

Ez alapján a fenti kód módosítva, hogy csak Alt+Control+T kombinációra küldje a szöveget: !^t:: Send, zzz return De a kimenetben is szerepelhetnek billentyűkombinációk, így például ha a böngészőkben nem áll rá a kezünk a Control+Shift+T kombinációra, beprogramozhatjuk, hogy Windows+T-re ugyanezt a kombinációt küldje el a szkript: #t:: Send, ^+t return A fentit egyszerűbben is definiálhatjuk, akár egy sorban, ilyenkor a return sem szükséges: #t::^+t Így pedig egyszerűen felcserélhetünk egyes betűket másikakra, amely kiváló trollkodási lehetőséget kínál kollégáink őrizetlenül hagyott gépein: a::b b::a A kimenetben szimulálhatjuk olyan billentyűk lenyomását is, mint a Tab vagy az Enter. Ha ezeket szöveg között szeretnénk elhelyezni, akkor ezt kapcsos zárójellel kell jeleznünk. A következő példa böngészőben nyit egy új lapot (Ctrl+T kombináció elküldésével), beírja egy oldal címét, majd Enterrel el is indítja a betöltését: #t:: Send, ^torigo.hu{Enter} return Ez a példa mutatja azt is, milyen könnyen tölthetünk ki űrlapokat automatikusan az AutoHotkey segítségével. Elég tabulátorokkal elválasztva beíratni a kitöltendő szövegeket, majd manuálisan, vagy szintén automatizáltan Enterrel elküldeni.

A képen látható űrlap automatikus kitöltetése Windows+T bill.parancsra: #t:: Send, Tóth{Tab}Ádám{Tab}[email protected]{Enter} return

Az áttekinthetőség kedvéért szét is választhatjuk a Send parancsot: #t:: Send, ^t Send origo.hu Send {Enter} return A különböző speciális billentyűk, melyeket szintén használhatunk még: CapsLock Caps lock Space Space gomb Tab Tabulátor Enter (vagy Return) Enter Escape (vagy Esc) Esc gomb Backspace (vagy BS) Backspace ScrollLock Scroll lock Delete (vagy Del) Delete gomb Insert (vagy Ins) Insert gomb Home Home gomb End End gomb PgUp Page Up gomb PgDn Page Down gomb Up Felfelé nyíl gomb Down Lefelé nyíl gomb Left Balra nyíl gomb Right Jobbra nyíl gomb F1 – F12 Funkcióbillentyűk (F gombok) LWin Bal oldali Windows gomb RWin Jobb oldali Windows gomb Control (vagy Ctrl) Control módosító billentyű* Alt Alt módosító billentyű* Shift Shift módosító billentyű* *Ezek elé is beírható az L vagy R karakter, és így csak a bal, vagy jobb oldalira vonatkozik a szabály. Érdekesség/bónusz: Nem csak billentyűk szimulálhatók a programmal, hanem multimédiás parancsok is, így butább billentyűzeteinket is könnyedén multimédiássá trükközhetjük: Browser_Back Browser_Forward Browser_Refresh Browser_Stop Browser_Search Browser_Favorites Browser_Home Volume_Mute Volume_Down Volume_Up Media_Next Media_Prev Media_Stop Media_Play_Pause Launch_Mail Launch_Media

Vissza (böngészőben/fájlkezelőben) Előre Frissítés Megállítás Keresés Kedvencek Kezdőlap Hangok némítása Hangerő csökkentése Hangerő növelése Következő zeneszámra lépés Előző zeneszámra lépés Zene megállítása Zene lejátszása/pauzálása Alapértelmezett levelező megnyitása Alapértelmezett lejátszó megnyitása

Változók kezelésére is lehetőséget ad az AutoHotkey. A deklaráció a := operátorral történik, a változók közvetlen kiírásához pedig a változó nevét % szimbólumok közé kell tennünk. Ebben a példában a Win+E kombináció inicializál nekünk egy számláló változót 0 értékkel, a Win+R pedig kitölti a fenti e-mailes űrlapot, de úgy, hogy az e-mail cím végére mindig eggyel nagyobb számot ír be a – közben folyamatosan növelt – változó segítségével: #e:: Szamlalo := 0 return #r:: Send, Tóth{Tab}Ádám{Tab}ta%Counter%@ta.com{Enter} Counter := Counter + 1 return Így, ha egy olyan űrlapot kellene többször kitöltenünk, ahova nem adhatunk meg kétszer azonos e-mail címet, elegendő egyszer leütni egy Win+E kombót, majd a Win+R nyomkodásával töltögetni az űrlapokat. (A változóinicializálás szükséges, enélkül a %Counter% helyére üres karakterlánc kerülne. Változónévben betű, szám, valamint # _ @ $ karakterek lehetnek. Nem case-sensitive, tehát nincs kis- és nagybetű megkülönböztetve.) A hosszabb, ismétlődő szövegek begépelését megkönnyíthetjük a hotstringek használatával. Ezeknél nem billentyűkombinációt nyomunk le, hanem egy adott szöveget gépelünk be. Példa: ::btw:: Send, by the way return Így a „btw” szöveg begépelése után elég lenyomni valamilyen záró billentyűt (ez lehet a Space, Enter, Tab, de akár a vessző is), hogy egyből a „by the way” szöveg jelenjen meg. Nem csak billentyűkombinációkat, vagy szövegeket programozhatunk be egy gyorsbillentyűre vagy hotstringre, hanem például egérműveleteket is, a Click utasítás segítségével: Click Click Click Click Click Click Click Click Click Click Click Click

2 down up middle right 2 right 44, 55 44, 55, 2, middle 44, 55, 0 WheelUp WheelDn

; ; ; ; ; ; ; ; ; ; ; ;

kattint egyet bal egérgombbal kattint kettőt bal egérgombbal nyomva tartja a bal egérgombot elengedi a bal egérgombot kattint egyet középső egérgombbal kattint egyet jobb egérgombbal kattint kettőt jobb egérgombbal kattint egyet bal egérgombbal 44,55 koordinátára kattint kettőt középsővel 44,55 koordinátára 44,55-re viszi az egeret, kattintás nélkül felfelé görget egyet lefelé görget egyet

Ha pedig módosító billentyűkhöz szeretnénk kapcsolni a kattintást, kapcsos zárójelben kell elhelyeznünk a Click utasítást, Send parancsba ágyazva, a megfelelő módosító billentyű szimbólumával: #e:: Send +{Click 100, 200} return A fenti kód hatására a Win+E kombináció egyenértékű lesz a 100,200 koordinátára leadott Shift+klikkel.

Ha a koordinátákat a jelenlegi pozícióhoz képest relatívan szeretnénk megadni, a Rel paranccsal tehetjük meg. Természetesen bármelyik koordináta lehet negatív is, a balra/felfele történő pozicionáláshoz. #e:: Send {Click Rel -100, -100, middle} return

A bemutatott funkciók csupán a legegyszerűbbek az AutoHotkey nyelvének lehetőségei közül. A program hihetetlenül sokrétű, ismer többek között lemez- és fájlkezelési műveleteket is, vezérlési szerkezeteket (szelekció, iteráció), sztringműveleteket, valamint komplex matematikai műveleteket is. Képes megvizsgálni a képernyőt, hogy látható-e rajta egy adott színű pixel, vagy akár egy egész kép (melyet fájlban határozhatunk meg neki). Processzkezelésre is használható, folyamatok futtatására (ld. Run utasítás), megállítására, prioritásuk megváltoztatására, de rendelkezik paranccsal a számítógép leállítására/újraindítására is (ld. Shutdown). Képes kezelni a hangkártyát és a PC speakert. Turkálhatunk vele a Registry-ben, írhatunk/olvashatunk kulcsokat, végezhetünk műveleteket egész mappákon is. Az elkészült szkripteket EXE programként elmenthetjük, mely formában olyan gépen is futtathatjuk őket, ahol nincs AutoHotkey telepítve. A lehetőségek köre túl tág ahhoz, hogy azt egy rövid dokumentumban ki lehessen fejteni, így erre nem is teszek próbát – a program súgója igen részletes, így mindenki megtalálhatja a számára szükséges funkciót benne. (A súgó elérhető az értesítési területen levő AutoHotkey ikon helyi menüjében.)

Egy utolsó példa még illusztrációnak/kedvcsinálónak: #e:: IfWinExist, AutoHotkey.docx – Microsoft Word { WinActivate, AutoHotkey.docx – Microsoft Word } else { MsgBox, Nem létezik ilyen nyitott ablak. } return A szkript Win+E leütésekor megvizsgálja, hogy van-e „AutoHotkey.docx – Microsoft Word” című nyitott ablak, és ha igen, átvált rá, ha pedig nem, előugró ablakban figyelmeztetést dob.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close