If-Koubou

Jak oszczędzać czas, automatyzując żmudne zadania za pomocą AutoHotkey

Jak oszczędzać czas, automatyzując żmudne zadania za pomocą AutoHotkey (Jak)

Czy kiedykolwiek musiałeś wykonywać to samo bezmyślne zadanie na swoim komputerze? Zamiast marnować godziny, klikając przyciski i uderzając klawiszami, jest to doskonała okazja, aby wykorzystać swoje umiejętności AutoHotkey, aby komputer wykonał pracę za Ciebie.

Uwaga: Ten konkretny przykład jest tym, którego użyłem wcześniej, aby zaoszczędzić trochę czasu, ale są to techniki, z których korzystałem wiele razy w ciągu lat, aby dosłownie zaoszczędzić sobie cennych dni.

Scenariusz

Próbowałem przejść i wyczyścić kilka niepoprawnych wiadomości w naszym biuletynie e-mailowym, gdy zdałem sobie sprawę, że ich interfejs wymaga ode mnie ręcznego kliknięcia przycisku Usuń, a następnie potwierdzenia go w każdej wiadomości - mówimy o 300 nieprawidłowe wiadomości, które musiały zostać usunięte. Co gorsza, interfejs jest bardzo powolny, co oznacza, że ​​spędziłbym dobre 30-40 minut po prostu klikając i sprawiając, że mój tunel nadgarstka jeszcze gorzej.

Zamiast tego stworzyłem nowy skrypt AutoHotkey i szybko napisałem scenariusz, aby wykonać pracę dla mnie.

Pierwszym krokiem było zidentyfikowanie, które dokładnie kliknięcia i klucze muszę zautomatyzować - oczywiście pierwszym krokiem jest kliknięcie przycisku X, który wywołuje to okno dialogowe potwierdzenia Ajax:

Na szczęście przycisk Usuń jest automatycznie podświetlany, więc możesz po prostu nacisnąć klawisz spacji, aby potwierdzić. Po usunięciu rekordu wszystko przesuwa się w górę, jakby rząd nigdy nie był. Wiedząc o tym, przejdziemy dalej i stworzymy skrypt, który automatyzuje klikanie przycisku X, czekając 3 sekundy na okno dialogowe potwierdzenia, naciska klawisz Spacja, a następnie czeka kolejne 3 sekundy, aż rząd zniknie.

Tworzenie skryptu

Pierwszą rzeczą, którą chcemy zrobić, jest utworzenie pętli, która będzie powtarzać te same czynności kilka razy - w tym przypadku szacujemy, że będziemy musieli powtórzyć to 300 razy, więc użyjemy pętli składnia jak poniżej:

Pętla 300

Teraz musimy zautomatyzować akcję klikania, co jest łatwe w AutoHotkey - wystarczy wpisać Kliknij. Możesz użyć bardziej zaawansowanej składni kliknięć, wybierając dokładnie to, gdzie chcesz kliknąć na ekranie lub klikając przycisk. Dla naszych celów użyjemy tylko wartości domyślnej, co pozostawia nam to:

Pętla 300

Kliknij

Teraz nasz skrypt kliknie 300 razy z rzędu, ale niestety mamy do czynienia z tym dialogiem potwierdzającym, więc teraz użyjemy funkcji Wyślij do wysłania klawisza spacji do aktywnego okna.

Pętla 300

Kliknij
Wyślij, Space

Jeśli spojrzysz na dokumentację, zobaczysz całą składnię klawiszy specjalnych - zwykłe naciśnięcia klawiszy można wprowadzić normalnie - na przykład, jeśli chcesz wpisać test a następnie zakończyć go spacją, użyjesz tego:

Wyślij, przetestuj Space

Mamy teraz skrypt, który klika przycisk, a następnie uderza w spację, co byłoby w porządku, ale interfejs jest powolny, więc musimy wstawić małą przerwę między każdym wykonaniem funkcji klikania i wysyłania. Aby to osiągnąć, użyjemy funkcji Sleep, która przyjmuje tylko jeden argument - opóźnienie w milisekundach.

Pętla 300

spać 3000
Kliknij
spać 3000
Wyślij, Space

Teraz mamy skrypt, który skutecznie usunie przedmioty, czekając 3 sekundy przed jego uruchomieniem, abyś mógł przesunąć kursor myszy nad pierwszym X, klikając przycisk, czekając 3 sekundy, uderzając w spację, a następnie czekając 3 sekund przed przejściem przez następny zestaw. Możesz teraz użyć tego prostego skryptu, jeśli chcesz, ale co jeśli chcesz zatrzymać skrypt?

Będziemy używać funkcji GetKeyState, aby sprawdzić, czy trafiłeś konkretny klucz - do testowania użyjemy klawisza F8 i dodamy poniższe w środku pętli. Spowoduje to wykrycie, czy klawisz F8 został naciśnięty, a następnie użyj przerwania, aby wyjść z pętli.

GetKeyState, stan, F8
jeśli stan = D
złamać

Ostateczny skrypt

Oto ostateczny scenariusz złożony razem, co prawdopodobnie nie pomoże ci zbyt wiele, ponieważ jest to charakterystyczne dla mojego scenariusza - ale możesz go użyć do stworzenia własnych skryptów, po prostu modyfikując kliknięcia i wysyłanie za pomocą klawisza.

Pętla 300

GetKeyState, stan, F8
jeśli stan = D
złamać
spać 3000
Kliknij
spać 3000
Wyślij, Space

Powrót

Aby zilustrować, jak to działa w praktyce, oto krótki film, który pokazuje go w akcji:

W tym szczególnym scenariuszu zajęło mi to około 3 minut, aby zebrać działający czas pracy skryptu: 27 minut. Wystarczy mi czasu, aby nagrać film i napisać ten artykuł!