AutoHotKey. Szybciej, lepiej, więcej… | Protip Blog (2024)

AutoHotKey. Szybciej, lepiej, więcej… | Protip Blog (1)Codziennie spędzam przed komputerem sporo czasu. Poza pracą, w której jest to moje najważniejsze narzędzie, są jeszcze sprawy osobiste i rozrywka. Jestem przekonany, że nie jestem pod tym względem oryginalny. Czytasz ten tekst, więc jestem gotów się założyć, że u Ciebie jest podobnie. Pisałem do tej pory o różnych aplikacjach do zarządzania zadaniami oraz sposobach na zwiększenie osobistej produktywności. Dzisiejszy artykuł jest dobrym uzupełnieniem tego tematu, choć na pierwszy rzut oka nie musi być to takie oczywiste. Chciałbym przedstawić Ci rozwiązanie, dzięki któremu możesz zaoszczędzić kilka sekund swojego cennego czasu, oraz odciążyć trochę swoje szare komórki. Kilka sekund nie brzmi okazale, ale jeśli przemnożymy je przez dziesiątki, czy setki razy, kiedy wykonujemy daną czynność, daje to już znaczące oszczędności. Jak to możliwe? Odpowiedzią i sponsorem dzisiejszego artykułu jest słowo AUTOMATYZACJA.

Instalacja i rozpoczęcie pracy

Aplikacją, którą chciałbym Ci przedstawić jest AutoHotKey (dalej AHK). Aplikacja jest projektem open source i działa na systemach Windows. To zdecydowanie jedna z pozycji obowiązkowych, jeśli korzystasz z tej platformy. Sprowadzając wszystko do prostych słów, AHK pozwala na automatyzację praktycznie dowolnych czynności w systemie i aplikacjach na nim zainstalowanych. Od razu uprzedzam, że opiszę tutaj relatywnie najprostsze scenariusze, które pozwolą automatycznie wpisywać dowolne ciągi znaków. To tylko wierzchołek góry lodowej możliwości tego narzędzia. Na końcu artykułu znajdziesz kilka linków z fajnymi przykładami innych zastosowań. Zacznijmy jednak od początku.

Aktualną wersję AutoHotKey znajdziesz tutaj: http://ahkscript.org/ . Klikasz, ściągasz i właściwie możesz już zacząć pracę. Do tego potrzebny Ci będzie edytor tekstowy. Zwykły Notatnik wystarczy (ja używam Notepad++, który trochę upraszcza cały proces). Plik tekstowy musi mieć rozszerzenie .ahk i oczywiście odpowiednią składnię. AHK integruje się z systemem i skrypty możesz kompilować i uruchamiać z menu podręcznego.

AutoHotKey. Szybciej, lepiej, więcej… | Protip Blog (2)

Protip.Sugeruję umieszczanie skryptów w folderze OneDrive, Dropbox czy Google Drive. Oprócz automatycznej kopii w chmurze będziesz mógł wykorzystywać te same skrypty na wielu komputerach. Korzystam z takiego rozwiązania i sprawdza się znakomicie.

Tworzymy pierwszy skrypt

Praca z AHK sprowadza się do trzech podstawowych kroków:

  1. Utworzenie skryptu
  2. Kompilacja
  3. Uruchomienie

Zacznijmy od pierwszego. Jak każdy język skryptowy, tak i AHK wykorzystuje swoją specyficzną składnię. Nie będę jej opisywał. Pełną dokumentację znajdziesz w internecie. Na początek polecam stronę https://autohotkey.com/docs/Tutorial.htm.

Zamiast opisywać czysto techniczne zagadnienia pokażę Ci działający przykład. Plik gotowego skryptu, który przygotowałem, możesz ściągnąć tutaj:

AHK_Demo.zip

Mój skrypt przede wszystkim uzupełnia dane, które często pojawiają się w różnego rodzaju dokumentach/formularzach (mail, adres, nip), albo takich, które są ważne i niekoniecznie łatwe do zapamiętania(numery kart, kont bankowych, nip). Pozwoli też, szybko wpisywać standardowe odpowiedzi mailowe oraz wykonywać kilka czynności po wciśnięciu odpowiedniej kombinacji klawiszy (zamknięcie systemu, wyłączenie monitora, uruchomienie ulubionej aplikacji). Jestem pewien, że bez trudu zorientujesz się jak to działa i w jaki sposób dostosować ten skrypt do swoich potrzeb.

Pełna treść pliku poniżej. Tekst po znaku ’;’ to komentarze. Wszystkie dane są fikcyjne:

[code lang=”ahk”]
#1:: ; <Windows> + 1 Wyłączenie monitora

Sleep 1000

SendMessage, 0x112, 0xF170, 2,, Program Manager ; 0x112 is WM_SYSCOMMAND, 0xF170 is SC_MONITORPOWER.

return

; Szybkie wyłączenie komputera <Windows> + s

#s::

run, shutdown /s /f /t 0

; Adresy email

::_mail1::jan.automatyczny@contoso.com

::_mail2::automatycznyj@outlook.com

; Nip

::_nip::1112223344

; Numer dowodu osobistego

::_do::ABC102030

; Pesel

::_pesel::81010144567

; Regon

::_regon::135797531

; KRS

::_krs::0000114466

; Adres

::_adres::Protip Blog, ul. Automatyczna 111, 01-234 Warszawa

; Numery kont bankowych (przykłady)

::_konto1::831450100200309105035

; lorem (do mockupów)

::_lorem::Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque finibus nisl nec mauris blandit, sit amet aliquet turpis maximus. Vestibulum suscipit euismod diam, ac vestibulum urna feugiat a. Sed gravida lectus sed elit auctor dictum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin non faucibus lectus. Suspendisse potenti. Vestibulum luctus metus at nisi acc*msan semper.

; Odpowiedź mailowa 1. Podziękowanie za współpracę

::_odp1::Witam serdecznie,`nBardzo dziękuję za propozycję, ale w tej chwili nie będę zainteresowany współpracą.`nPozdrawiam,`nJan Automatyczny.

; Odpowiedź mailowa 2. Dane do faktury (`n – nowa linia)

::_odp2::Witam serdecznie,`nDziękuję za miłą współpracę. Proszę o wystawienie faktury na te dane:`n`nJan Automatyczny`nAdres: `nNIP: `nEmail: `nRegon: `n`nPozdrawiam,`nJan Automatyczny.

; Uruchom witrynę Todoist (Ctrl+Shift+t)

^+t:: Run "https://todoist.com"

return
[/code]

Po zapisaniu skryptu należy go skompilować, co spowoduje utworzenie wykonywalnego pliku z rozszerzeniem exe. Plik uruchamiasz dwukrotnym kliknięciem. To czy został działa, zweryfikujesz zerkając na zasobnik systemowy:

AutoHotKey. Szybciej, lepiej, więcej… | Protip Blog (4)

Protip. Dobrym pomysłem jest dodanie tego pliku, lub skrótu do niego, w katalogu autostart. Dzięki temu będzie uruchamiany automatycznie wraz z samym systemem. W Windows od 7 w górę możesz go znaleźć w tej lokalizacji: %AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Testy

Pozostaje wypróbować nasz skrypt. Po wpisaniu zdefiniowanych w skrypcie słów kluczowych (np. _nip, _konto1,itp.), AHK powinien zamieniać je na odpowiednie teksty. Patrząc na treść, zauważyłeś zapewne, że dla wszystkich słów kluczowych stosowałem zawsze ten sam przedrostek (czyli „_”). Zmniejsza to praktycznie do zera szansę, że kiedyś będziesz musiał użyć np. słowa „_nip” zamiast faktycznego numeru oraz ułatwia zapamiętywanie samych słów kluczy. Zamiast zamieniania ciągów znaków, mógłbyś ich wpisywanie równie dobrze skojarzyć z wybraną kombinacją klawiszy. Możliwości jest wiele. Poniżej krótkie nagranie z testów.

https://youtu.be/6npyxvrCchw

Zachęcam Cię teraz do przeprowadzenia własnych eksperymentów, nawet jeśli ograniczy się to do edycji mojego przykładowego pliku. Uwierz mi na słowo, że po krótkim czasie wszystkie te skróty i akronimy mocno zapadną Ci w pamięć i zaczniesz ich używać automatycznie. U mnie utrwaliły się na tyle mocno, że siadając do cudzego komputera, zdarza mi się wciskać kilkukrotnie kombinację Ctrl+Shift+t i zastanawiać się, czemu nie otwiera się witryna Todoist J.

Podsumowanie

Mam nadzieję, że ten materiał okaże się dla Ciebie pomocnym. Jestem przekonany, że jak tylko zaczniesz korzystać z AHK, to trudno Ci będzie z niego zrezygnować. Czas poświęcony na naukę składni, znalezienie przykładowych skryptów i w końcu utworzone własnego, zwróci się z nawiązką.

Na koniec zostawiam jeszcze kilka przydatnych łączy, dla tych z Was, którzy chcą wejść w ten temat trochę głębiej:

Jeśli macie swoje ulubione skrypty, czy triki w AHK, to pochwalcie się nimi w komentarzach. Ten temat na pewno wróci na łamach bloga w przyszłości. Tymczasem pozdrawiam Cię serdecznie i do następnego razu.

AutoHotKey. Szybciej, lepiej, więcej… | Protip Blog (2024)

References

Top Articles
Latest Posts
Article information

Author: Clemencia Bogisich Ret

Last Updated:

Views: 6109

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Clemencia Bogisich Ret

Birthday: 2001-07-17

Address: Suite 794 53887 Geri Spring, West Cristentown, KY 54855

Phone: +5934435460663

Job: Central Hospitality Director

Hobby: Yoga, Electronics, Rafting, Lockpicking, Inline skating, Puzzles, scrapbook

Introduction: My name is Clemencia Bogisich Ret, I am a super, outstanding, graceful, friendly, vast, comfortable, agreeable person who loves writing and wants to share my knowledge and understanding with you.