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 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.
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ésKurzor 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