TAAT Technologie Cyfrowe

AutoHotkey - automatyzacja w Windows

AutoHotkey to rewelacyjny programik pozwalający na zautomatyzowanie praktycznie wszystkiego co zwykle robi się w Windows w mozolny sposób. Jeżeli narzekasz, że w Windows nie ma skrótu klawiaturowego do danej akcji, albo chcesz mieć skrót klawiaturowy do sekwencji poleceń - AutoHotkey jest dla Ciebie.

Spis treści

Jak działa AutoHotkey?

Malutki program rezyduje jako ikona w pasku zadań i pozwala na uruchomienie skryptów użytkownika. Skrypty można pobrać gotowe, np. z Forum autohotkey, albo napisać samemu, w intuicyjnym, prostym języku, który przejrzyście jest opisany w pomocy. Mało tego! Są także skrypty, które pozwalają nagrać to co się robi (coś w rodzaju makra).

Raz uruchomiony skrypt może działać w tle i nasłuchiwać co się dzieje w Windows. Kiedy wykryje określoną w skrypcie akcję, wykonuje zlecone mu zadania.

Do czego można wykorzystać AutoHotkey?

Możliwości są ograniczone praktycznie tylko wyobraźnią. Najczęściej spotykane przypadki to:

Przykładowe skrypty AHK

Skrypt należy zapisać jako plik z rozszerzeniem .ahk. Najlepiej skojarzyć to rozszerzenie z autohotkey.exe, wtedy skrypty uruchamia się najłatwiej.

Przełączanie okien kółkiem myszy

Co to dużo gadać… Przełączanie się pomiędzy oknami w Windows ssie… Ten prosty skrypcik pozwala na przemieszczanie się pomiędzy otwartymi oknami za pomocą kółka myszy i klawisza Alt:

; wheel_windows.ahk
LAlt & WheelDown::AltTab
LAlt & WheelUp::ShiftAltTab

Tym którzy wolą klawiaturę od myszy, polecam podobny skrypt: AltTab.ahk.

Automatycznie wpisywany tekst (snippety)

W poniższy sposób można sprawić, że po wpisaniu (w którymkolwiek miejscu w Windows) określonego ciągu znaków, zostanie on zastąpione innym:

; shortcuts.ahk
::dd:: Dzień dobry!
::zw::Poczekaj chwilę, proszę. Zaraz wracam.
::pj::pozdrawiam serdecznie, Joanna

Teraz wystarczy, że wpiszesz zw a po nim Spację, Enter lub TAB i już masz cały tekst!

Strzałki na klawiszach JKLI

Bardzo przydatną funkcją w dobrych edytorach tekstu takich jak jEdit albo Vim, jest możliwość poruszania się po tekście bez odrywania rąk od głównej części klawiatury, czyli za pomocą kombinacji klawiszy: prawy Alt i JKLI w czterech kierunkach.

Dobrze by było mieć tą funkcjonalność we wszystkich Windowsowych programach? Nie ma sprawy…

; jkli.ahk
; Map ALT+[JKLI] to Arrows

<!J::Send {Left down}
KeyWait a
Send {Left up}
return

<!K::Send {Down down}
KeyWait a
Send {Down up}
return

<!L::Send {Right down}
KeyWait a
Send {Right up}
return

<!I::Send {Up down}
KeyWait a
Send {Up up}
return


; Map SHIFT+ALT+[JKLI] to Shift+Arrows

+<!J::Send {Shift down}{Left down}
KeyWait a
Send {Shift up}{Left up}
return

+<!K::Send {Shift down}{Down down}
KeyWait a
Send {Shift up}{Down up}
return

+<!L::Send {Shift down}{Right down}
KeyWait a
Send {Shift up}{Right up}
return

+<!I::Send {Shift down}{Up down}
KeyWait a
Send {Shift up}{Up up}
return


; Map CTRL+ALT+[JKLI] to Ctrl+Arrows

^<!J::Send {Control down}{Left down}
KeyWait a
Send {Control up}{Left up}
return

^<!K::Send {Control down}{Down down}
KeyWait a
Send {Control up}{Down up}
return

^<!L::Send {Control down}{Right down}
KeyWait a
Send {Control up}{Right up}
return

^<!I::Send {Control down}{Up down}
KeyWait a
Send {Control up}{Up up}
return


; Map SHIFT+CTRL+ALT+[JKLI] to Ctrl+Shift+Arrows

+^<!J::Send {Control down}{Shift down}{Left down}
KeyWait a
Send {Control up}{Shift up}{Left up}
return

+^<!K::Send {Control down}{Shift down}{Down down}
KeyWait a
Send {Control up}{Shift up}{Down up}
return

+^<!L::Send {Control down}{Shift down}{Right down}
KeyWait a
Send {Control up}{Shift up}{Right up}
return

+^<!I::Send {Control down}{Shift down}{Up down}
KeyWait a
Send {Control up}{Shift up}{Up up}
return

Skrót: wyświetlanie/ukrywanie ukrytych plików

Na Linuksie można wyświetlić lub ukryć pliki z atrybutem „ukryty” jednym skrótem klawiatury. W Windowsach też…

; WINDOWS KEY + H TOGGLES HIDDEN FILES
#h::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden
If HiddenFiles_Status = 2
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 1
Else
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 2
WinGetClass, eh_Class,A
If (eh_Class = "#32770" OR A_OSVersion = "WIN_VISTA")
send, {F5}
Else PostMessage, 0x111, 28931,,, A
Return		

Moje doświadczenia

Jak widać, możliwości są ogromne. Każdy może dostosować to co potrzebuje.

Z mojego doświadczenia wynika, że warto mieć jeden skrypt, który jest uruchamiany przy starcie Windows, a on, uruchamia inne potrzebne skrypty (przy użyciu funkcji #Include).

Raczej jako swój backup, wstawiam to wszystkie skrypty, których aktualnie używam: AutoHotkey pack.

Po więcej odsyłam do pomocy i na Forum autohotkey.

Nawigacja

Ciekawe? Subskrybuj kanał RSS bo będzie więcej!

RSS ?