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
F4
jak i bardziej zaawansowane np.CAPSLOCK
+G
przywoł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
F1
przełą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.