Przejdź do treści

AutoHotkey — skryptowy język automatyzacji dla Windows

AutoHotkey to darmowy, open‑source język skryptowy dla Windows, służący do tworzenia skrótów, makr, automatyzacji interfejsu i prostych interfejsów użytkownika.

Przegląd

AutoHotkey to darmowy, open‑sourceowy język skryptowy przeznaczony dla systemu Windows. Umożliwia definiowanie skrótów klawiaturowych (hotkey), skrótów tekstowych (hotstring), tworzenie makr i automatyzację powtarzalnych czynności w aplikacjach. Skrypty AutoHotkey zapisuje się w prostych plikach tekstowych, które system może uruchamiać bezpośrednio lub po skompilowaniu do samodzielnego pliku wykonywalnego.

Cechy i składniki

  • Definiowanie hotkey i hotstring oraz przypisywanie do nich akcji.
  • Interakcja z oknami i kontrolkami: wysyłanie klawiszy, kliknięć, odczyt tytułów i klas.
  • Tworzenie prostych interfejsów GUI i menu.
  • Rozszerzalność przez wywołania do API systemowego, bibliotek DLL i automatyzację aplikacji.
  • Możliwość kompilacji skryptów do EXE oraz rozbudowana dokumentacja i społeczność.

Historia i rozwój

Projekt powstał jako projekt społecznościowy na początku XXI wieku i szybko zyskał popularność wśród użytkowników Windows, którzy potrzebowali prostego narzędzia do automatyzacji zadań biurowych i powłokowych. Jego rozwój prowadzony jest przez ochotników i licznych współtwórców; dokumentacja i przykłady są powszechnie dostępne na stronie projektu i forach użytkowników. Z czasem pojawiły się narzędzia ułatwiające tworzenie GUI i integrację z zewnętrznymi bibliotekami.

Zastosowania i przykłady

AutoHotkey stosuje się do zadań takich jak automatyczne wypełnianie formularzy, zamiana fragmentów tekstu, tworzenie makr w programach biurowych, usprawnianie workflow programisty lub administratora oraz automatyzacja testów interfejsu użytkownika. Przykładowo, można przypisać kombinację klawiszy do wstawienia często używanego bloku tekstu, zmapować przyciski myszy albo przygotować skrót do uruchomienia serii poleceń systemowych.

Uwagi, rozróżnienia i zasoby

AutoHotkey różni się od innych narzędzi automatyzacji poziomem prostoty i elastyczności: nie jest to pełnoprawny język programowania ogólnego przeznaczenia, ale oferuje bogaty zestaw poleceń dla automatyzacji środowiska Windows. W kontekście projektów open‑source warto zapoznać się z oficjalną dokumentacją projektu, repozytoriami kodu i bibliotekami, a także poradnikami i społecznościami dostępnymi pod forum i bazą przykładów. Dodatkowe materiały i narzędzia pomocnicze można znaleźć na stronach poświęconych integracji z oprogramowaniem oraz w zasobach wspierających rozbudowane użycie automatyzacji.

Cechy

Skrypty AutoHotkey mogą być używane do ładowania programów, otwierania dokumentów oraz wydawania naciśnięć klawiszy i kliknięć myszą.

Skrypty AutoHotkey mogą również zmieniać zmienne i manipulować oknami, plikami i folderami.

Skrypty AutoHotkey mogą być uruchamiane za pomocą klawisza skrótu. Po naciśnięciu przez użytkownika kombinacji klawiszy, takich jak Ctrl+Alt+I na klawiaturze, skrypt może otworzyć przeglądarkę internetową.

Klawisze klawiatury mogą być przemapowane tak, że naciśnięcie Ctrl+N może spowodować, że w aktywnym oknie pojawi się myślnik (-). Te same klawisze mogą być wyłączone, tak że naciśnięcie Ctrl+N może spowodować, że nic się nie stanie.

AutoHotkey pozwala również na stosowanie "gorących ciągów", które automatycznie zastępują określony tekst podczas jego wpisywania. Typowym zastosowaniem hotstringów jest rozwijanie skrótów. Wpisanie "btw" może spowodować, że powstanie tekst "a propos".

Skrypty mogą być uruchamiane automatycznie przy starcie komputera. Mogą one działać w tle i być używane do zapisywania informacji do pliku dziennika.

Bardziej złożone zadania mogą polegać na tworzeniu własnych formularzy wprowadzania danych (okien GUI), pracy z rejestrem systemowym lub korzystaniu z Windows API poprzez wywoływanie funkcji z bibliotek DLL. Skrypty mogą być kompilowane do pliku wykonywalnego, który może być uruchamiany na innych komputerach, które nie mają zainstalowanego AutoHotkey.

Kod źródłowy jest w języku C++ i może być skompilowany za pomocą Visual Studio Express.

Dostęp do pamięci poprzez wskaźniki jest dozwolony tak samo jak w C.

Niektóre zastosowania programu AutoHotkey:

  • Zmiana układu klawiatury, np. z QWERTY na Dvorak lub inny alternatywny układ klawiatury.
  • Używanie skrótów klawiszowych do wpisywania często używanych nazw plików lub innych fraz.
  • Wpisywanie znaków interpunkcyjnych, których nie ma na klawiaturze, takich jak cudzysłów ("...").
  • Sterowanie kursorem myszy za pomocą klawiatury lub joysticka.
  • Otwieranie programów, dokumentów i stron internetowych za pomocą prostych naciśnięć klawiszy.
  • Dodawanie podpisu do wiadomości e-mail lub na forach dyskusyjnych.
  • Monitorowanie systemu i automatyczne zamykanie niechcianych programów.
  • Zaplanowanie automatycznego przypomnienia, skanowania systemu lub tworzenia kopii zapasowej.
  • Automatyzacja powtarzających się zadań.
  • Automatyczne wypełnianie formularzy konkursowych i bezpłatnych (może automatycznie wpisywać Twoje imię i nazwisko, adres itd.).
  • Prototypowanie przed implementacją w innym, bardziej czasochłonnym, języku programowania.

Historia

Pierwsza publiczna wersja beta AutoHotkey została wydana 10 listopada 2003 roku. Bazowała ona na składni AutoIt v2, używała niektórych poleceń AutoIt v3 i kompilatora AutoIt v3. AutoIt v3 zmienił swoją licencję z GPL na closed source z powodu "innych projektów wielokrotnie biorących kod AutoIt" i "ustawiających się jako konkurencja".

W 2010 roku, AutoHotkey v1.1 (pierwotnie nazwany AutoHotkey_L) stał się platformą dla ciągłego rozwoju AutoHotkey. Pod koniec 2012 roku stała się ona oficjalną gałęzią.

Przykłady

Poniższy skrypt pozwoli użytkownikowi na wyszukanie określonego słowa lub frazy za pomocą Google. Po skopiowaniu tekstu z dowolnej aplikacji do schowka, naciśnięcie konfigurowalnego klawisza skrótu ⊞ Win+G spowoduje otwarcie domyślnej przeglądarki internetowej użytkownika i przeprowadzenie wyszukiwania.

#g::Run http://www. google. com/search? q=%clipboard%

Poniższy skrypt definiuje hotstring, który umożliwia użytkownikowi wpisanie w dowolnym programie słowa "afaik" i automatyczne zastąpienie go słowem "o ile mi wiadomo":

::afaik::o ile mi wiadomo

Poniższy przykład powoduje, że Ctrl+⇧ Shift+Q zastępuje zaznaczony tekst w edytorze jego zacytowaną wersją. Ilustruje on użycie funkcji, argumentów i domyślnych wartości argumentów.

^+q::QuoteSelection() ; Ctrl+Shift+Q QuoteSelection() {      selection := GetSelection() ; Pobierz zaznaczony tekst.    PasteText(Quote(selection)) ; Zacytuj tekst i wklej go z powrotem. }  GetSelection(timeoutSeconds := 0.5) {   Clipboard := "" ; Wyczyść schowek, aby ClipWait mógł działać.     Wyślij ^c ; Wyślij Ctrl+C aby uzyskać zaznaczenie w schowku.       ClipWait %timeoutSeconds% ; Poczekaj aż skopiowany tekst pojawi się w schowku.       return Clipboard }  PasteText(s) {    Clipboard := s ; Umieść tekst w schowku.       Wyślij ^v ; Wklej tekst za pomocą Ctrl+V. }  Quote(s) {      return """" . s . """" }

Funkcje stworzone przez użytkowników

Istnieją rozszerzenia/interopie/inline biblioteki skryptowe dostępne do użycia z innymi językami programowania:

  • VB/C# (.NET)
  • Lua
  • Lisp
  • ECL
  • VBScript/JScript (Windows Scripting Host)
  • Wbudowany kod maszynowy

Inne główne wtyczki umożliwiają wsparcie dla:

  • Programowanie zorientowane aspektowo
    • Haki funkcyjne
  • Obwoluty COM
  • Interakcja z konsolą
  • Dynamiczne generowanie kodu
  • HIDs
  • Automatyzacja Internet Explorera
  • Tworzenie GUI
  • Usługi internetowe
  • Programowanie syntetyczne
  • Haki zdarzeń systemu Windows

Malware

Niektóre złośliwe programy zostały napisane przy użyciu AutoHotkey.

Produkty antywirusowe czasami fałszywie identyfikują skrypty AutoHotkey jako złośliwe oprogramowanie. Są to tak zwane fałszywe wyniki pozytywne.

Powiązane strony

  • AutoIt (dla Windows)
  • KiXtart (dla Windows)
  • Winbatch (dla Windows)
  • Macro Express (dla Windows)
  • Bookmarklet (dla przeglądarek internetowych)
  • iMacros (dla Firefoksa, Chrome i Internet Explorera)
  • AutoKey (dla systemu Linux)
  • Automator (dla komputerów Macintosh)
  • Keyboard Maestro (dla komputerów Macintosh)

Powiązane artykuły

Autor

AlegsaOnline.com AutoHotkey — skryptowy język automatyzacji dla Windows

URL: https://pl.alegsaonline.com/art/114745

Udostępnij

Źródła