Co je Auto clicker?
Auto clicker je program, kde je napsán nějaký kódový skript a na základě kódu, pokud některý uživatel definuje klávesu, je stisknuto, pak se automaticky klikne myší. V Pythonu můžeme vytvořit projekt automatického klikání pomocí modulu pynput, který lze nainstalovat příkazem pip.
Auto clicker kód můžeme rozdělit do následujících kroků:
1. Import požadovaných modulů
Naimportujeme modul času a vláken a naimportujeme modul Button, Controller ze submodulu myši pynput. Stejným způsobem naimportujeme moduly Listener a Keycode ze submodulu klávesnice pynput.
Příklad:
import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode
2. Inicializace proměnných
V této části budeme inicializovat čtyři proměnné, které jsou velmi užitečné pro provádění programu.
Příklad:
buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x')
3. Vytvoření třídy
V této části vytvoříme třídu, která rozšíří třídu vláken, aby zkontrolovala, zda bylo kliknutí myší provedeno nebo ne.
rozdíl mezi ledem a sněhem
Příklad:
class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True
4. V této části definujeme některé metody pro externí ovládání kliknutí myší pomocí vláken.
Příklad:
def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False
5. V této části jsme definovali metodu, která bude provádět kompletní kód pomocí dvou vnořených smyček. Tyto smyčky budou ukončeny, když jsou proměnné nastaveny na false. V opačném případě budou pokračovat v programu.
Příklad:
oříznutí javascriptu
def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1)
6. V této sekci vytvoříme vlákno pro kliknutí myší a poté vlákno spustíme.
Příklad:
mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start()
7. Je to poslední sekce, kde definujeme funkci pro kliknutí na klávesnici. Pokud je stisknuta libovolná klávesa, přejde jako argument v této funkci a zkontroluje s různými případy.
Pokud je to klávesa startStop, program se spustí nebo zastaví. Pokud se jedná o ukončovací klíč, bude program ukončen.
Příklad:
ahoj světe s javou
def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseclick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join()
Úplný příklad:
import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode delayTime = 0.001 buttonDirection = Button.right startStopButton = KeyCode(char='s') terminateButton = KeyCode(char='x') class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True def startMouseclick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseClick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join()
Vysvětlení:
Ve výše uvedeném kódu jsme inicializovali klávesy start a stop jako „s“ a klávesu ukončení jako „x“. Když spustíme python skript a zadáme 's', pak automaticky, kdykoli pohneme myší po obrazovce, klikne se na něj pravé tlačítko se zpožděním 0,001 sekundy nebo jedné milisekundy.
Funkčnost kliknutí myší můžeme změnit v sekci 2, kde můžeme pomocí atributu Button.left nebo Button.center změnit směr kliknutí myši.
Pokud chceme snadno vidět kliknutí myší, můžeme změnit delayTime na vyšší, abychom viděli skutečné kliknutí. V tomto kódu, když nepohneme kurzorem myši na obrazovce, nebude klikat. Bude to fungovat pouze tehdy, když pohneme kurzorem na obrazovce.