AutoHotkey - łatwy sposób na automatyzację pracy
Korzystając ze skryptów, możemy usprawnić i przyspieszyć pracę – dzięki nim określone zadania będą wykonywane automatycznie. Przeczytajmy, jak w łatwy sposób pisać skrypty w programie AutoHotkey.
AutoHotkey to nazwa języka skryptowego, a także programu, który te skrypty może wykonywać. Napisane przez nas skrypty mogą dotyczyć tworzenia nowych skrótów klawiaturowych oraz okien własnych programów.
Tuż po pierwszym uruchomieniu programu wyświetlona zostaje jego pomoc, a także okno dialogowe. Zawiera ono informację, że program udostępnia skrypt, który jest pusty. Aby skrypt funkcjonował, należy uzupełnić go treścią. W oknie podana jest lokalizacja skryptu - możemy więc w dowolnej chwili otworzyć ją i wprowadzić zmiany. A jeśli chcemy edytować skrypt od razu, wystarczy kliknąć na Tak w oknie dialogowym. Otworzy się wtedy domyślny edytor tekstu - w nim możemy rozpocząć pisanie.
Uruchamianie wybranych stron internetowych skrótem klawiaturowym
W edytowanym przez nas podstawowym skrypcie możemy napisać linijkę, która pozwoli na uruchomienie wybranej przez nas strony internetowej przez naciśnięcie określonego skrótu klawiaturowego. Żeby kombinacja klawiszy Start+K powodowała uruchomienie przeglądarki internetowej i przeniesienie nas na stronę, należy wpisać w skrypcie linię: #k::Run stronę URL
Aby poznać dokładnie działanie tego skryptu i móc definiować inne skróty, warto rozłożyć go na czynniki pierwsze i omówić poszczególne jego elementy.
#k - to właśnie nasza kombinacja klawiszy. Znak #oznacza klawisz Start, litera k natomiast - klawisz K. Jeśli chcemy użyć innego klawisza, oczywiście podajemy inną literę w skrypcie. A co z innymi klawiszami? Jeżeli chcemy w naszej kombinacji użyć klawisza Alt - wpisujemy !, dla klawisza Ctrl wpisujemy ^, a dla Shift będzie to +. Gdybyśmy chcieli wykorzystać w skrócie klawiaturowym spację - wystarczy napisać space.
:: - podwójny dwukropek oznacza, że to, co znajduje się za nim, powinno zostać wykonane w reakcji na naciśnięcie zdefiniowanego przed dwukropkami skrótu klawiaturowego.
Run - to polecenie mówiące o tym, że należy coś uruchomić. Nie odnosi się ono jedynie do stron internetowych. Podanie adresu strony internetowej spowoduje uruchomienie przeglądarki i przejście na podaną stronę. Ale możemy podać zamiast adresu WWW na przykład nazwę programu - wtedy uruchomiona zostanie wybrana przez nas aplikacja. Gdybyśmy zamiast url napisali calc.exe - skrót klawiaturowy uruchamiałby systemowy kalkulator. Możemy również zarządzić uruchomienie konkretnego pliku - w tym wypadku należy podać ścieżkę z jego lokalizacją na dysku. W jednym skrypcie możemy zdefiniować wiele kombinacji klawiszy, przypisując im różne zadania.
Automatyczne wpisywanie tekstu w oknie
Automatyczne wpisywanie tekstu w oknie opiera się na wysyłaniu kliknięć konkretnych klawiszy do aktywnego okna. Jeśli chcemy mieć skrót klawiaturowy, którym będziemy automatycznie dodawać podpis do naszych e-maili, stwórzmy skrót, który tak naprawdę wykona za nas wciśnięcie konkretnych klawiszy. Polecenie Run nie jest jedynym poleceniem, jakie możemy wykonać po wykryciu wciśnięcia kombinacji klawiszy. Innym podobnym poleceniem, które będzie nam tym razem potrzebne, jest Send - to ono właśnie wysyławciśnięcie ciągu klawiszy. I tak, poprzez umieszczenie w skrypcie linii: #p::Send Pozdrawiam, Konrad otrzymamy skrót klawiaturowy, który po wciśnięciu kombinacji Start+P, jeśli aktywne będzie pole tekstowe, wpisze w nim tekst Pozdrawiam, Konrad.
Jeżeli chcemy wstawić w tekście znak nowej linii - używamy klawisza Enter. To samo musimy napisać w naszym skrypcie - jeśli chcemy wysłać naciśnięcie tego klawisza - wpisujemy go w nawiasie klamrowym w miejscu, w którym chcemy przejść do nowej linii.
Wykonywanie wielu poleceń po wciśnięciu jednej kombinacji
Przedstawiony wcześniej skrypt pozwalał na wykonanie tylko jednego polecenia. Możemy jednak tworzyć skrypty, które do jednej kombinacji klawiszy przypiszą wykonanie wielu poleceń. Pisanie takiego skryptu rozpoczynamy podobnie jak wcześniej - od podania kombinacji klawiszy. Jednak tym razem, zamiast pisać instrukcję po podwójnym dwukropku, przechodzimy do nowej linii. Wszystkie kolejne polecenia, które mają wykonać się po wciśnięciu utworzonej przez nas kombinacji, powinniśmy wypisywać w nowych liniach skryptu. Kiedy wypiszemy już wszystkie instrukcje, jakie chcemy wykonać - kończymy definicję słowem return.
Zaprezentowany skrypt po wciśnięciu kombinacji Start+P powoduje jednocześnie włączenie kalkulatora i przejście na stronę internetową.
Zastępowanie tekstów
Innym przydatnym zastosowaniem skryptów tworzonych w AutoHotkey jest możliwość zastępowania wpisanych przez nas skrótów pełnymi wyrażeniami. Możemy choćby napisać skrypt, który skrót btw będzie zastępował przez by the way. Rozpoczynamy instrukcję w skrypcie od podwójnego dwukropka, po którym podajemy skrót, jaki chcemy zastąpić. Dalej znów wpisujemy podwójny dwukropek, po którym podajemy tekst, którym chcemy zastąpić skrót.
Zaprezentowany skrypt zastępuje skrót btw jego rozwinięciem - by the way. Aby zastąpienie zostało wykonane, spełnionych musi być jeszcze kilika warunków. Skrót musi być oddzielną frazą, to znaczy nie może być fragmentem innego słowa - litery nie mogą go poprzedzać ani bezpośrednio po nim występować. Przed i po skrócie mogą znajdować się inne znaki - między innymi spacja, kropka, przecinek czy cudzysłów. Najważniejszy warunek to jednak kolejność. Jeśli we wpisywanym przez nas tekście będziemy przemieszczać kursor - najpierw wpiszemy tw, przeniesiemy kursor na początek i dopiszemy b - zamiana nie zostanie wykonana, ponieważ klawisze wciśnięto w innej kolejności.
Naciśnięcia klawisza myszy w określonym miejscu
Aby skrypt wykonywał kliknięcia myszy w odpowiednim, określonym przez nas miejscu na ekranie - powinniśmy znać współrzędne X, Y tego miejsca. Z tym nie ma jednak problemu, ponieważ wraz z AutoHotkey instalowane jest narzędzie Window Spy - wystarczy je wyszukać i uruchomić.
Jedną z sekcji okna tego narzędzia jest Mouse Position - kiedy przesuwamy kursorem myszy, aktualizują się jego współrzędne - które określone są dla trzech kontekstów. Nas interesuje kontekst okna, zatem zapamiętujemy, jakie liczby znajdują się przy pozycji Window:, gdy kursor znajduje się w miejscu, w którym chcemy wykonać kliknięcie.
Następnie w skrypcie powinniśmy wpisać Click 777, 669 - gdzie Click oznacza kliknięcie przycisku myszy, a liczby mówią o miejscu, w którym ma zostać wykonane (to znaczy, że zastępujemy je liczbami odczytanymi z narzędzia Window Spy).
Jeżeli chcemy wykonać bota, który będzie wykonywał wiele kliknięć w określonym miejscu, na przykład 100, nie musimy 100 razy wpisywać tej samej instrukcji w skrypcie - możemy użyć pętli. Służy do tego słówko Loop, po którym podajemy, ile razy mają być wykonane instrukcje, które umieszczamy w klamrowym nawiasie.