AutoIt to bezpłatny język skryptowy przypominający Basic, zaprojektowany specjalnie do automatyzacji interfejsu użytkownika (GUI) w systemie Windows. Dzięki niemu możesz symulować naciśnięcia klawiszy, ruchy myszy, manipulować oknami i kontrolkami, a także kompilować skrypty do samodzielnych plików EXE – wszystko bez potrzeby dodatkowych bibliotek czy środowisk uruchomieniowych.
W świecie, gdzie powtarzalne zadania pochłaniają godziny pracy, AutoIt staje się nieocenionym narzędziem dla administratorów IT, testerów oprogramowania i użytkowników, którzy chcą usprawnić codzienne operacje. W tym materiale znajdziesz najważniejsze informacje: od instalacji i podstaw po praktyczne przykłady, wskazówki optymalizacji i sprawdzone techniki.
Czym jest AutoIt i dlaczego warto go używać?
AutoIt v3 to kompaktowy, samodzielny język skryptowy, który wyróżnia się na tle narzędzi takich jak VBScript czy PowerShell dzięki precyzyjnej kontroli nad GUI Windows. Jest kompatybilny z Windows XP aż po Windows 11, wspiera Unicode, architekturę x64 i mechanizmy UAC.
Najważniejsze cechy, które docenisz w codziennej pracy:
- prosta składnia podobna do Basic – łatwa do nauki nawet dla początkujących;
- symulacja wejścia użytkownika – klawisze, mysz oraz operacje na kontrolkach bez aktywowania okna;
- manipulacja oknami i procesami – przenoszenie, aktywacja, zamykanie, uruchamianie i monitorowanie aplikacji;
- tworzenie GUI w skryptach – budowa okien, formularzy i prostych narzędzi użytkowych;
- obsługa COM, regex i DLL – integracja z aplikacjami Office, wyrażenia regularne, wywołania WinAPI;
- kompilacja do EXE – Aut2Exe tworzy samodzielne pliki wykonywalne bez zewnętrznych zależności;
- społeczność i dokumentacja – bogate forum i przewodniki na AutoItScript.com.
W porównaniu do alternatyw AutoIt jest niezawodny w automatyzacji aplikacji desktopowych, gdzie inne narzędzia zawodzą na niestabilnych symulacjach klawiatury (np. SendKeys). Świetnie sprawdza się w zadaniach administracyjnych, testach automatyzowanych i uruchamianiu sekwencji programów na starcie systemu.
Instalacja i środowisko pracy
Rozpoczęcie pracy jest proste: pobierz pełny instalator z oficjalnej strony AutoItScript.com. Pakiet zawiera edytor skryptów, narzędzie do kompilacji oraz utilitki do inspekcji GUI.
Po instalacji otrzymujesz zestaw narzędzi ułatwiających start:
- SciTE Script Editor – edytor z podświetlaniem składni, autouzupełnianiem i uruchamianiem skryptów;
- AutoIt Window Info (Au3Info.exe) – inspekcja okien i kontrolek, odczyt ClassNN, uchwytów i pozycji elementów;
- Aut2Exe – kompilacja skryptów .au3 do samodzielnych plików .exe.
Wymagane jest podstawowe obycie z systemem Windows i prosta logika programistyczna; pomocne są krótkie szkolenia lub tutoriale online łączące teorię z praktyką.
Podstawy języka AutoIt
AutoIt używa przejrzystej składni z pętlami, warunkami i funkcjami. Najpierw opanuj fundamenty:
- zmienne i typy danych – automatyczne typowanie, stringi, liczby, tablice;
- struktury kontrolne – if…then…else, while, for…next;
- funkcje – wbudowane (np. MsgBox, Run) i własne (Func…EndFunc).
Oto najkrótszy przykład, który wyświetla komunikat:
MsgBox(0, "Witaj", "To jest mój pierwszy skrypt AutoIt!")
Uruchom go w SciTE (F5) lub skompiluj do EXE.
Interakcja z systemem Windows – kontrola GUI i symulacja użytkownika
Największą siłą AutoIt jest automatyzacja interfejsu użytkownika (GUI) – także bez aktywowania okna.
Zarządzanie oknami i kontrolkami
Do pracy z oknami i elementami interfejsu przydadzą się poniższe konstrukcje:
- funkcje okien – WinGetHandle, WinWaitActive, WinMove, WinClose;
- operacje na kontrolkach – ControlClick, ControlSend, ControlGetText (bez potrzeby aktywowania okna);
- synchronizacja – WinWait, ControlFocus, sprawdzanie istnienia okna lub kontrolki przed akcją.
Przykład automatyzacji Notatnika – uruchomienie, wpisanie tekstu i zapis pliku:
; Uruchom Notatnik i poczekaj na okno
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]")
; Wpisz tekst bezpośrednio w pole edycyjne
ControlSetText("[CLASS:Notepad]", "", "Edit1", "Witaj, AutoIt!")
; Zapisz plik przez skrót Ctrl+S i uzupełnij nazwę
Send("^s")
WinWaitActive("Zapisz jako")
ControlSetText("Zapisz jako", "", "Edit1", @ScriptDir & "\przyklad.txt")
ControlClick("Zapisz jako", "", "Button1")
AutoIt Window Info wskaże właściwe identyfikatory ClassNN (np. Edit1) i ułatwi precyzyjne adresowanie kontrolek.
Symulacja klawiatury i myszy
Do prostych akcji wejścia użyj gotowych funkcji:
- send(„tekst{ENTER}”),
- controlsend(„[HANDLE/TITLE]”, „”, „Edit1”, „dane bez aktywacji”),
- mouseclick(„left”, x, y).
Praca z plikami, procesami i zaawansowane techniki
AutoIt wygodnie automatyzuje codzienne operacje systemowe:
- pliki i foldery – FileCopy, DirCreate, FileRead;
- procesy – Run(„notepad.exe”), ProcessClose, ProcessExists;
- rozpoznawanie obrazu/tekstu – przez biblioteki UDF (np. ImageSearch.au3) lub zewnętrzne OCR;
- wywołania API – DllCall do bezpośredniej komunikacji z WinAPI.
Gdy potrzebujesz więcej kontroli, skorzystaj z technik zaawansowanych:
- obsługa błędów – @error, SetError, sprawdzanie wartości zwrotnych funkcji, IsObj;
- własne GUI – GUICreate, GUICtrlCreateButton i zdarzenia okien;
- regex i COM – przetwarzanie tekstu, sterowanie Excel/Outlook przez COM.
Wybrane funkcje, które często wykorzystasz w praktyce:
| Funkcja | Opis | Przykład użycia |
|---|---|---|
| WinGetHandle | Pobiera uchwyt okna | $h = WinGetHandle("Kalkulator") |
| ControlClick | Kliknięcie kontrolki | ControlClick($h, "", "Button1") |
| Send | Symulacja klawiszy | Send("Witaj{SPACE}świecie") |
| Run | Uruchomienie programu | Run("notepad.exe") |
| FileCopy | Kopiowanie pliku | FileCopy("zrodlo.au3", "cel.au3") |
Praktyczne zastosowania i przykłady skryptów
AutoIt świetnie sprawdza się w realnych scenariuszach biznesowych i administracyjnych:
- automatyzacja administracyjna – uruchamianie programów po starcie, kopie zapasowe, porządkowanie logów;
- testy aplikacji – wypełnianie formularzy, klikanie przycisków, walidacja wyników;
- integracje – współpraca z PowerShell/Excel/Outlook przez AutoItX (COM/DLL).
Debugowanie, optymalizacja i bezpieczeństwo
Aby skrypty były stabilne i przewidywalne, stosuj poniższe praktyki:
- debug – ConsoleWrite, MsgBox do logów, sygnalizacja błędów przez @error;
- optymalizacja – Sleep() dla kontrolowanych opóźnień, WinWait/ProcessWait zamiast sztywnych timeoutów;
- bezpieczeństwo – uruchamianie z odpowiednimi uprawnieniami (UAC), ostrożność przy DllCall i operacjach na procesach;
- integracja – rozszerzanie możliwości przez DLL/COM oraz biblioteki UDF społeczności.
Szukasz wsparcia? Aktywne forum społeczności AutoIt dostarcza przykładów, bibliotek UDF i szybkiej pomocy.
Zacznij dziś – pobierz instalator z AutoItScript.com, zainstaluj SciTE, uruchom Au3Info i napisz pierwszy skrypt. Po kilku godzinach nauki zautomatyzujesz dziesiątki żmudnych kliknięć i wpisywań, oszczędzając realnie czas.
