Autohotkey

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. május 24-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
autohotkey
Típusú Szkriptnyelv
Szerző Chris Mallett [d] [1]
Fejlesztő AutoHotkey Foundation LLC [d] [1]
Beírva C++ [2]
Operációs rendszer Microsoft Windows
Hardver platform Microsoft Windows
legújabb verzió
Olvasható fájlformátumok AHK szkript [d]
Engedély GNU GPL
Weboldal autohotkey.com

Az AutoHotkey  egy szabadon terjesztett nyelv a feladatok automatizálására a Microsoft Windows rendszerben .

Az AutoHotkey egy olyan szkriptnyelv , amely a gyorsbillentyűk , köztük az egér és a joystick gombjainak egyszerű hozzárendelésére és újratervezésére szolgál . A szkriptek " .ahk " kiterjesztésű szövegfájlok . A csomag tartalmaz egy segédprogramot , amely lehetővé teszi, hogy azokat EXE-fájlokká "összeállítsa" , és bármely Windows operációs rendszert futtató számítógépen futtasson, míg a létrehozott fájl tartalmazhat más fájlokat is, amelyeket az indításkor kicsomagol.

Az AutoHotkey lehetővé teszi a Windows felhasználói feladatok olyan automatizálását, amely más programozási nyelveken nem lehetséges vagy nehéz. Ezenkívül ez a nyelv kompakt, önálló, és a Windows összes verzióján működik.

Az AutoHotkey használható billentyűzet-, egér- és joystick-műveletek szimulálására, programok indítására, interfészük megváltoztatására, ablakok, fájlok és mappák kezelésére, valamint a vágólappal és a rendszerleíró adatbázis használatára . Parancsok hívhatók gyorsbillentyűkkel.

Lehetőség van grafikus felhasználói felület létrehozására, ablaküzenetek küldésére és fogadására, DLL -függvények meghívására , szövegfeldolgozásra is reguláris kifejezésekkel .

Az AutoHotkey az AutoIt projekt láncszemeként jött létre , amikor a szerzője javasolta, hogy szorosabb gyorsbillentyű-támogatást építsenek be az AutoIt v2-be, de nem talált megértést. Ezért a szerző úgy döntött, hogy saját nyelvet fejleszt ki az AutoIt v2 szintaxisa alapján és az AutoIt v3 egyes funkcióinak felhasználásával.

Jelenleg az eredeti ág – az AutoHotkey 1.0 (későbbi nevén AutoHotkey Basic , Classic, Vanilla) – fejlesztését annak alkotója, Chris Mallett leállította. A hivatalos utód - az AutoHotkey 1.1 (AutoHotkey_L) -, amelyet Steve Gray (Lexikos) és a Fincs által vezetett közösségi erőfeszítések fejlesztettek ki, ez a verzió támogatja a Unicode -ot , a 64 bites architektúrát , a tömböket , a prototípus - objektumokat , valamint a COM- és ActiveX-vezérlőket . a GUI.

Egy tinku99 alias felhasználó kifejlesztette az AutoHotkey_N egyedi buildjét, amely lehetővé teszi az AutoHotkey tolmács beágyazását egy másik alkalmazásba vagy nyelvbe. Olyan AutoHotkey funkciókat biztosít, amelyeket más nyelveken nehezebb megvalósítani.

A HotKeyIt álnévvel rendelkező felhasználó szinte egy időben kiadta az AutoHotkey_H saját AutoHotkey_N-re épülő verzióját, amely a dll -en keresztüli integráció mellett COM -on keresztül is használható volt . Kísérlet történt a kódvédelem megvalósítására is, ami a kriptográfiának és az anti-debugging technikáknak köszönhetően valósult meg. Egyes jelentések szerint indítási instabilitás figyelhető meg a Windows 10 rendszeren .

Jelenleg a második verzió fejlesztése már több éve folyik, jelenleg alfa verzióban van. A szintaxis átstrukturálva lett ebben a verzióban.

A nyelvről

A nyelvi funkciók a következők:

Az AutoHotkey tolmács kicsi, és nem igényel telepítést. A fő fájl elegendő a működéshez, és bármely szövegszerkesztő elegendő egy szkript létrehozásához . Az értelmező nélküli futtatáshoz először le kell fordítani a szkriptet .

Létezik egy IDE az AutoHotkey számára SciTE4AutoHotkey néven, amely az ingyenes SciTE szerkesztőn alapul . A fordító, a segédeszközök és a referenciaanyagok teljesen integráltak, így a szerkesztő szabványos környezetté válik az AHK-t használó fejlesztők számára. Az AHK fordító és a SciTE fejlesztői környezet könnyen telepíthető, és nem igényel további konfigurációt.

Más szkriptnyelvekhez hasonlóan az AutoHotkey egy harmadik generációs nyelv , amely a klasszikus modell- és változattípusú változókat használja különféle típusú adatok tárolására , beleértve a tömböket is.

Az AutoHotkey népszerű felhasználási módjai:

A grafikus felületek fejlesztésének leegyszerűsítésére létezik egy vizuális szerkesztő, a SmartGUI Creator.

Az AutoHotkey forráskódja az összes C++ verzióhoz letölthető a GitHubon.

A nyelv jelenlegi verziója letölthető a projekt hivatalos weboldaláról, valamint a korábbi kiadásokról.

Példák

Hello World program:

; Megjelenít egy szabványos ablakot "Példa" névvel, a "Hello, world!" felirattal. és az OK gombot. MsgBox , 0 , Példa , Hello world ! _

Párbeszédpanel létrehozása:

; Megjelenít egy párbeszédpanelt az Igen és a Nem gombokkal. Ha az "Igen" gombra kattint - lépjen ki a programból. MsgBox , 4 , Kérdés , Ki akar lépni a programból ? IfMsgBox , Igen Lépjen ki az alkalmazásból más MsgBox , Köszönjük , hogy velünk tartott .

Jegyzettömb indítása:

Fuss , jegyzettömb . alkalmazás

Ébresztőóra 12 óra 00 percre:

SetTimer , CheckTime , 300  ; Az időzítő beállítása a címkére 300 ezredmásodpercenként. visszatérés  ; Az automatikus végrehajtás szakasz vége. A szkript szünetel, amíg a címke el nem indul. ellenőrzési idő: if ( A_Óra == 12 && A_Min == 00 )  ; Ha eljött az ideje. { Eszköztipp , riasztás .  ; Üzenetet adunk ki. Alvás , 3000  ; Várunk 3 másodpercet. Szerszámtipp  ; Elrejtjük az üzenetet. } Visszatérés

Kurzor elrejtése/megjelenítése a Win + C megnyomásával.

; Elrejti/megjeleníti az egérkurzort, amikor megnyomja a Win + C billentyűt. OnExit , ShowCursor  ; Amikor a szkript véget ér, megmutatjuk a kurzort. visszatérés  ; Az automatikus végrehajtás szakasz vége. A szkript szünetel, amíg a felhasználó nem tesz valamit. Kurzor megjelenítése: Rendszerkurzor ( "Be" ) Lépjen ki az alkalmazásból #c :: Rendszerkurzor ( "Váltás" )  ; Amikor megnyomja a Win + C billentyűket, jelenítse meg / elrejtse a kurzort. Rendszerkurzor ( állapot := 1 ) { statikus AndMask , XorMask , $ , hCursor , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , c13  ; Rendszer kurzor. , b1 , b2 , b3 , b4 , b5 , b6 , b7 , b8 , b9 , b10 , b11 , b12 , b13  ; Üres kurzor. , h1 , h2 , h3 , h4 , h5 , h6 , h7 , h8 , h9 , h10 , h11 , h12 , h13  ; Alapértelmezés szerint a kurzor fogantyúi. if ( status = "Init" vagy status = "I" vagy $ = "" )  ; Első híváskor inicializálva. { $ = h  ; Alapértelmezés szerint aktív kurzor. VarSetCapacity ( hСursor , 4444 , 1 ) VarSetCapacity ( AndMask , 32 * 4 , 0xFF ) VarSetCapacity ( XorMask , 32 * 4 , 0 ) system_cursors = 32512 , 32513 , 32514 , 32515 , 32516 , 32642 , 32643 , 32644 , 32645 , 32646 , 32648 , 5 , 32649 StringSplit c , system_cursors , `, Hurok %c0% { hСursor := DllCall ( "LoadCursor" , " Ptr" , 0 , "Ptr" , c %A_Index% ) h %A_Index% := DllCall ( "CopyImage" , "Ptr" , hCursor , "UInt" , 2 , "Int" , 0 , "Int" , 0 , "UInt" , 0 ) b %A_Index% := DllCall ( "CreateCursor" , " Ptr" , 0 , "Int" , 0 , "Int" , 0 , "Int" , 32 , "Int" , 32 , " Ptr " és AndMask , " Ptr " és XorMask ) } } if ( állapot = 0 vagy állapot = "Ki" vagy $ = "h" és ( állapot < 0 vagy állapot = "Váltás" vagy állapot = "T" ))) $ = b  ; Üres kurzort használunk. más $ = h  ; A rendszerkurzort használjuk. Hurok %c0% { hCursor := DllCall ( "CopyImage" , " Ptr" , %$%%A_Index% , "UInt" , 2 , "Int" , 0 , "Int" , 0 , "UInt" , 0 ) DllCall ( "SetSystemCursor" , "Ptr" , hСursor , "UInt" , c %A_Index% ) } }

Példa szkriptre GUI használatával:

Gui , Hozzáadás , Szöveg ,, Név : Gui , Hozzáadás , Szöveg ,, Vezetéknév : Gui , Hozzáadás , Szerkesztés , vFirstName ym  ; Az ym paraméter egy új vezérlőoszlopot indít el. GUI , Hozzáadás , Szerkesztés , vLastName Gui , Hozzáadás , Gomb , alapértelmezett , OK  ; A ButtonOK címke (ha létezik) a gombra kattintva aktiválódik. Gui , Show ,, Egyszerű beviteli példa visszatérés  ; Az automatikus végrehajtás szakasz vége. A szkript szünetel, amíg a felhasználó nem tesz valamit. OK gomb: GUI , elküldés  ; Menti a felhasználói bevitelt az egyes vezérlők kötött változójába. MsgBox Az Ön keresztneve Vezetéknév : " %FirstName% %LastName%" . GuiClose:  ; Az interfész bezárásakor aktiválódik. Lépjen ki az alkalmazásból

Lásd még

Jegyzetek

  1. 1 2 https://autohotkey.com/foundation/
  2. Az autohotkey nyílt forráskódú projekt az Open Hubon: Nyelvek oldala - 2006.
  3. Kiadás 1.1.34.04 - 2022.

Linkek