Poradnik Autoit – kontrolujemy klawiaturę i myszkę

Tym razem bez wstępniaka, bo i tak nikt ich nie czyta 😉

Polecenie Send.

Podstawowym poleceniem z jakiego przyjdzie nam korzystać przy pisaniu skryptów-botów w Autoit będzie polecenie Send. Służy ono do symulowania wciskania klawiszy.

Składnia polecenia jest bardzo prosta:

Send(„jakiś klawisz”, FLAGA)

Flagą może być
0 – znaki + oraz ! podczas wysyłania traktowane są jako znak pisany dużą literą (+) bądź z przytrzymaniem klawisza ALT (!) itp;

Pełna lista dozwolonych znaków (i ich rezultat)

! – działa jak naciśniecie ALT
+ – Działa jak naciśnięcie Shift
^ – działa jako wciśnięcie Ctrl
# – działa jako wciśniecie logo windows

Przykłady:
#r – zadziała jak naduszenie logo win i r jednocześnie
+a – litera A zostanie
^+a – taki sam efekt uzyskamy przyciskając ctr+shift+a na klawiaturze.

1 – wysyła dowolny tekst nie traktując go j/w.

Oprócz standardowych przycisków funkcja Send obsługuje klawisze funkcyjne:

{SPACE} Spacja
{ENTER} ENTER (na klawiaturze głównej)
{ALT} ALT
{BACKSPACE}/{BS} BACKSPACE
{DELETE}/{DEL} DELETE
{UP} Strzałka w górę
{DOWN} Strzałka w dół
{LEFT} Strzałka w lewo
{RIGHT} Strzałka w Prawo
{HOME} HOME
{END} END
{ESCAPE}/{ESC} ESCAPE
{INSERT}/{INS} Insert
{PGUP} PageUp
{PGDN} PageDown
{F1} – {F12} Klawisze funkcyjne
{TAB} TAB
{PRINTSCREEN} Print Screen
{LWIN} Lewy klawisz Windows
{RWIN} Prawy klawisz Windows
{NUMLOCK on} NUMLOCK (on/off/toggle)
{CAPSLOCK off} CAPSLOCK (on/off/toggle)
{SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)
{PAUSE} PAUSE
{NUMPAD0} – {NUMPAD9} Numpad digits
{NUMPADENTER} Enter na klawiaturze numerycznej.
{LALT} Lewy Alt
{RALT} Prawy Alt
{LCTRL} Lewy Control
{RCTRL} Prawy Control
{LSHIFT} Lewy Shift
{RSHIFT} Prawy Shift

Po kompletną listę odsyłam do pomocy Autoit, ja podałam tylko te, które są najczęściej używane.
Uwaga: Funkcja Send wysyła klawisze wyłącznie do aktywnego okna !

Do chwili obecnej zajmowaliśmy się podstawową komendą kontrolującą klawiaturę. Teraz przyszła kolej na kontrolowanie myszki, zauważcie, że to co robiliśmy do tej pory odnosiło się zawsze do aktywnego okna. Aby zmusić Autoit do czytania pozycji w obrębie aktywnego okna w skrypcie, na samej górze piszemy:

Opt(„MouseCoordMode”, 2)

Jeżeli czytaliście cały ten tutorial od początku, nie będziecie mieli problemów z interpretacja tych komend, więc od tej pory przestaję je tłumaczyć jak „krowie na rowie”

MouseMove(x,y,prędkość) – komenda przesuwa myszkę w wybraną przez nas pozycję. Prędkość (0-100) to szybkość przemieszczenia kursora (0- najszybciej, 100 – najwolniej)
MouseClick(„left/right/middle”, x, y, liczba_klikniec, prędkość) – komenda nakazująca kliknięcie w wybrane przez nas miejsce. Prędkość odnosi się do ew. przesunięcia kursora (wartości takie same jak w MouseMove)
MouseClickDrag(„left/right/middle”, x1, y1, x2, y2, prędkość) – komenda klikająca w wybrany przez nas punkt (x1, y1) i „przeciągająca” kursor w drugie (x2,y2) miejsce. Stosowana najczęściej do zaznaczania obszaru.
MouseWheel(„up/down”, liczba_klikniec) – komenda kontrolująca scroll w myszce.
MouseDown(„left/right/middle”) – komenda nakazująca przyciśnięcie przycisku myszki
MouseUp(„left/right/middle”) – j.w z tym, że zwalnia ten przycisk.

Przydatną komendą jest jeszcze MouseGetPos – zwraca ona nam aktualną pozycję kursora:

$pos = MouseGetPos()
MsgBox(0, "Pozycja x,y:", $pos[0] & "," & $pos[1])

Dodaj komentarz