AutoHotkey to jak sam się przedstawia - Potężny. Łatwy do nauki. Najlepszy język skryptowy do automatyzacji dla systemu Windows - zdecydowanie zgodzę się z tym pierwszym. Co do reszty, to poglądy są różne, ale nie zmienia to faktu, że jest to dla mnie jedno z kluczowych narzędzi na Windowsa, które pozwala ułatwić codzienną pracę w stopniu niezmiernym.
AHK może:
- Usprawnić wpisywanie tekstu np. zamiast o ile dobrze pamiętam wystarczy wpisać ]oidp
- Budować skróty klawiszowe(obsługuje też mysz) - proste np. zamknięcie okna klawiszem
F4jak i bardziej zaawansowane np.CAPSLOCK+Gprzywoła nam przeglądarkę i przełączy na kartę Gmaila, a jeżeli ta jest aktywna, to zminimalizuje okno;RButton&WheelUp- Przytrzymanie prawego przycisku myszki i ruch rolką w górę, przełączy kartę przeglądarki. - Tworzyć proste interfejsy użytkownika np. okienko dodawania do pliku tekstowego - dla błyskawicznych notatek, wybór tekstu do wpisania z listy.
- Operować uruchomionymi programami i oknami - np. automatycznie zmienić położenie i rozmiar okna.
- Automatyzować powtarzalne czynności - np. otworzyć stronę, błyskawicznie wypełnić na niej pola, wysłać dane i zamknąć okno.
- Sterować ustawieniami systemowymi - np. wprowadzić push to talk - automatyczne wyciszenie mikrofonu o ile nie trzymamy określonego klawisza.
Poniżej przedstawię kilka założeń ogólnych dla zachęty, jednak nie jest moja intencją tworzenie tutoriala, bo dokumentacja AHK jest bardzo przystępna, a wpisanie w Google ahk problem X przeważnie daje nam konkretne rozwiązania.
W kolejnych artykułach postaram się pokazać praktyczne przykłady zastosowania AHK. Skróty, które sprawdziły się u mnie w boju.
Wszystkie przykłady z artykułów, wraz z komentarzami będą uaktualniane w repozytorium na GitHubie.
Instalacja
Program można pobrać stąd https://www.autohotkey.com/download/ instalacja nie jest wymagana, wystarczy rozpakować archiwum zip.
Jeszcze lepszym pomysłem jest skorzystanie z programu scoop wydajemy polecenie
scoop install autohotkey
Hotstringi i hotkeye
Skrypty AHK opierają się na dwóch głównych składowych:
hotstring - rozwinięcie/zastąpienie wpisywanego tekstu, np. wpisanie @@ zostanie zamienione na Jan.Kowalski@mojadomena12.pl
hotkey - skrót klawiszowy, np wciśnięcie ALT+. wpisze … (wielokropek) a wciśnięcie F1 przełączy kartę w firefoxie czy chrome na wcześniejszą (wygodniejsze rozwiązanie niż łamanie palców na CTRL+SHIFT+TAB)
Pierwszy skrypt
Hotstring
Tworzymy plik main.ahk o zawartości:
::]c:: ;;Cześć
(
Cześć,
)
Zapisujemy i odpalamy go. Jeżeli używamy aplikacji z rozpakowanego archiwum, do otwarcia wskażmy AutoHotkeyU64.exe. Skrypt odpali się i będzie rezydował w zasobniku (trayu).
Następnie otwórzmy np. notatnik i wpiszmy w nim ]c a następnie spację lub enter. Wpisany tekst ]c zostanie zastąpiony przez Cześć i linię odstępu. Tym sposobem mamy skrót do rozpoczynania maili. Dla kompletu dodajmy jeszcze zakończenie.
Hotstringi dobrze jest rozpoczynać w określony sposób, żeby uniknąć ich przypadkowego aktywowania. Ja zaczynam je jak widać od zamykającej klamry kwadratowej ]c popularne jest też stosowanie średnika ;c.
Klikamy prawym przyciskiem myszy na na ikonce w trayu i z menu wybieramy Edit This Script. Otworzy się notatnik ze skryptem (domyślny program możemy zmienić w standardowy sposób - przypisując inny program do plików z tym rozszerzeniem).
dodajemy do skryptu:
::]p:: ;;Pozdrawiam Jk
(
Pozdrawiam
Jan Kowaski
)
:*:@@::Jan.Kowalski@mojadomena12.pl ;; mail
i tu jeszcze wyjaśnienie zastosowanej składni:
()Objęcie wyrażenia w nawiasy okrągłe pozwala nam wstawiać wyrażenia wieloliniowe.:*:dodanie gwiazdki przy definiowaniu hotstringa powoduje, ze jego aktywowanie nastąpi automatycznie po wpisaniu ostatniego znaku. Nie trzeba wciskać spacji czy entera. Wpisanie@@podstawi adres e-mail.;Od średnika zaczynamy komentarze. W powyższym przykładzie podwójny średnik nie jest przypadkiem - wyjaśnię to w kolejnych artykułach.
Zapisujemy plik i klikamy prawym przyciskiem myszy na na ikonce w trayu i z menu wybieramy Reload This Script. Od tego momentu działają zmiany, które wprowadziliśmy.
Hotkey
Dodajemy do pliku
!.:: ;; wielokropek
Send …
Return
F1::Send {Ctrl Down}{PgUp}{Ctrl Up} ;;ff - poprzednia karta
Przeładowujemy skrypt i teraz:
- wciśnięcie
ALT+.(alt i kropka) wpisze … (wielokropek). Opis modyfikatorów klawiszy niżej. - wciśnięcie
F1przełączy kartę na wcześniejszą (wygodniejsze rozwiązanie niż łamanie palców naCTRL+SHIFT+TAB)
Skróty zadziałają we wszystkich programach - potem przedstawię, jak limitować działanie skrótu tylko do obrębu jednej aplikacji, albo tylko jednego okna.
Tutaj też widzimy jedną z bolączek AHK - składnia lubi być dziwaczna i niejednoznaczna - możemy pisać polecenia w jednej linii, albo kolejnej, ale kończymy je za pomocą Return - możemy też stosować nawiasy klamrowe. Czasami po poleceniach wpisujemy przecinek, czasami nie, przy zmiennych może pojawiać się % albo i nie. Jako, że większość rozwiązań tworzyłem, wyszukiwałem, przerabiałem ad-hoc to nie pilnowałem składni. Działa, więc po co ruszać :).
Modyfikatory klawiszy
| Skrót | klawisz |
|---|---|
| # | Win |
| ! | Alt |
| ^ | Ctrl |
| + | Shift |
Czyli ^+w::Hello World! oznacza - wciśnięcie CTRL+SHIFT+w wypisze Hello World!*
Pełna lista klawiszy dostępna jest w dokumentacji.
Kompilacja skryptu do pliku wykonywalnego exe

Do działania skryptu potrzebujemy jedynie pliku wykonywalnego AHK (wspomniany wyżej AutoHotkeyU64.exe) i pliku skryptu, ale możemy również kliknąć prawym przyciskiem myszy na pliku skryptu i wybrać opcję Compile script w wyniku czego otrzymamy nasz skrypt w postaci pojedynczego pliku .exe!
Repozytorium z przykładami - github
Jak już zaznaczyłem wyżej, wszystkie przykłady z artykułów, wraz z komentarzami będą uaktualniane w repozytorium na GitHubie.