[AutoHotkey] kezdőknek – automatizáció geekeknek

Egy egyszerű makró nyelv sokat segít a mindennapi számítógépes feladatok elvégzésében.  Bármi, aminél két gombnál többet kell kombinálni, hogy sikeres legyen a munkafolyamat, vagy egerészni kell közben, és ezt rendszeresen ismételni kell, az ember idegeire tud menni a harmadik alkalom után.

Miközben a Google Readerből (RIP my friend) kimentett csillagos posztokat rendszereztem a FeedDemon asztali olvasóval (hamarosan átveszi a Feedly a hatalmát felettem, s akkor ennek is RIP),  amit kóder írt saját magának (meg a közösségnek is valamennyire, sőt volt fizetős PRO verziója is). A kóderek maguknak többnyire fapados dolgokat készítenek, külön hangsúlyt fektetve arra, ami nekik maguknak fontos (meg esetleg a fizető kuncsaftnak), nem pedig azt figyelik, hogy pl. nekem mi lenne a jó. Ez amúgy nem baj, vannak az olyan makró cuccok, mint az AutoHotkey (meg sok más is, de ez akadt a kezembe először), amikkel számos dolgot meg lehet oldani.

Példának okáért, én azt akartam, hogy egyes posztokat küldjön Pocketba (Read It Later), másokat pedig taggeljen be egy címke alá. És persze csillagozza ki őket, hogy a számláló csökkenjen. A nagy helyzet azonban az, hogy egyik feladatot se tudom “csak úgy” a FeedDemonból elérni, mert se a címkézést, se a Pocketba megosztást nem tudom billentyű parancsra kötni (amúgy elég sok mindenre kínál lehetőséget).

Az alábbi pár sorral azonban gyorsan kibővítettem a FeedDemon lehetőségeinek tárházát:

#IfWinActive FeedDemon Pro 4.1
#s::
Click 386,234
Send fs{End}{Up}{Enter}
return
^g::
Click 396,234
Send fg
Send geeklany{Enter}
return
#IfWinActive

Mi mit csinál a kódban?

Valamennyire persze érthető a kód, de egyes részei nem, úgyhogy vegyük át őket részletesen.

#IfWinActive FeedDemon Pro 4.1

#IfWinActive

A két sor közötti kód akkor kerül értelmezésre, ha aktív a “FeedDemon Pro 4.1” címet viselő ablak. Lehet az összes Windowsos alkalmazásra érvényes kódot is írni, van jó pár példakód az AutoHotkey oldalán, érdemes olvasgatni a doksit is.

#s::
^g::

A különböző gyorsbillentyűket adtam meg itt, a # a Windows billentyűt, a ^ a Controlt (, a ! pedig az Alt billentyűt) jelenti. A vezérlő dolgokat lehet kombinálni, további témákban tessék megkérdezni a Mánuelt.

Click 386,234

Az AutoHotkey egyik kiegészítő feature-je mindent elárul a felületről, amihez a makrónkat írjuk. Így tudtam meg én is azt, hogy a listából átmenni arra a képernyőterületre, ahol elérhetem a “send to” context menüt, többek között úgy érhető el, ha a fenti koordinátákra klikkelek (full screennél, a netbook képernyőméreténél). Erre mondják, hogy Quick-and-Dirty megoldás, viszont jobbat nem találtam.

Send fs{End}{Up}{Enter}

A Click-kel elvittem a kurzort, a Send pedig azon a helyen kiadja a fent leírt parancsokat. Az “f”-fel (favorite) kikapcsolom a csillagot, az “s” aktiválja a context menüt, az End-Fel pedig a “Read it Later” menüre visz azon belül. Ha sikerült, akkor csippen egyet.

return

Talán mondanom se kell, de legyen mégis: a return befejezi a kód futását.

Tuning

Az első sikeres futtatások után kifejezetten zavart, hogy nem tér vissza a posztlistába a kurzor és bizonyos esetekben akár macerásnak is nevezhető a navigálás, ezért feltuningoltam az alábbi kódrészlettel:


AX :=A_CaretX
AY :=A_CaretY
...
Click %AX%,%AY%

Az előbbi részlet a beépített változók eltárolását mutatja, az utóbbi pedig a user-változók használatát (amúgy a beépített változókat is így kellene a Click-nél használni).

Sajnálatos módon a tuning valamit elrontott, azaz időnként nem a számomra valósnak sejthető koordinátákra ugrik vissza a vezérlés, ami minimális mértékben zavaró, főleg akkor, amikor emiatt egyáltalán nem fut le rendesen a script, azaz nem címkéz vagy nem pakol Pocketbe.

Amennyiben az AX, AY változókat MsgBox-szal lekérdezem, úgy eddigi tapasztalataim alapján nincs hiba a programfutásban, úgyhogy arra tudok csak gyanakodni, hogy a FeedDemon nem reagál real time a kiadott vezérlésre.

Hogyan tovább?

Természetesen még mélyebbre kívánom magam beásni az AutoHotkey rejtelmeibe, amiről titeket is informálni foglak – legyen szó a fent említett “bug” megoldásáról, vagy egyéb automatizálható feladatok leegyszerűsítéséről.

3 Comments

  1. Windowsra van egy nagyon jó, WinAutomation nevű program. Még olyat is tud, hogy ha egy előre megadott képrészletet észrevesz akkor vigye oda az egeret vagy csináljon bármit. Régen sokat használtam. Automatizálási mániám van. Androidra van egy Tasker nevű app. Arról hallottál? Elképesztő hogy egy kis kreativitással miket össze lehet azzal hozni. 🙂

Comments are closed.