logo

Hur man gör en Python autoklicker

Vad är Autoklicker?

Autoklicker är ett program där något kodskript skrivs, och baserat på koden, om någon användare definierar en tangent trycks ned, klickas musen automatiskt. I Python kan vi göra ett autoklickerprojekt med hjälp av en pynput-modul som kan installeras med pip-kommando.

Vi kan dela upp autoklickerkoden i följande steg:

1. Importera nödvändiga moduler

Vi kommer att importera tids- och trådmodulen, och vi kommer att importera modulen Button, Controller från musens undermodul pynput. På samma sätt kommer vi att importera Listener- och Keycode-modulerna från pynputs tangentbordsundermodul.

Exempel:

 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode 

2. Initiering av variablerna

I det här avsnittet kommer vi att initiera fyra variabler som är mycket användbara för att köra programmet.

c-sträng i array
    knappenRiktning: Denna variabel avgör vilken knappsida vi vill klicka på (höger, vänster eller mitten).försening: Denna variabel definierar tiden mellan två på varandra följande klick.startStopButton: Den här variabeln definierar vilken tangent eller knapp som ska användas för att starta och stoppa autoklickerprojektet.terminate-knappen: Denna variabel definierar knappen som kommer att användas för att avsluta programmet.

Exempel:

 buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x') 

3. Skapa klassen

I det här avsnittet kommer vi att skapa klassen som utökar trådklassen för att kontrollera om musklicket har utförts eller inte.

Exempel:

 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. I det här avsnittet kommer vi att definiera några metoder för att styra musklicken med hjälp av trådar externt.

Exempel:

 def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False 

5. I det här avsnittet har vi definierat metoden som kommer att exekvera hela koden med två kapslade loopar. Dessa loopar kommer att avslutas när variabler är inställda på false. Annars kommer de att fortsätta programmet.

Exempel:

 def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) 

6. I det här avsnittet kommer vi att skapa tråden för musklick och sedan startar vi tråden.

lista till array java

Exempel:

 mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() 

7. Det är det sista avsnittet där vi definierar funktionen för tangentbordsklick. Om någon tangent trycks ned, går den som ett argument i denna funktion och kontrollerar med olika fall.

jämföra i java

Om det är startStop-tangenten kommer programmet att startas eller stoppas. Om det är den avslutande nyckeln kommer programmet att avslutas.

Exempel:

 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() 

Komplett exempel:

 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() 

Förklaring:

I ovanstående kod har vi initierat start- och stopp-nycklarna som 's' och terminate-nyckeln som 'x'. När vi kör python-skriptet och om vi skriver in 's' kommer det automatiskt, när vi flyttar musen på skärmen, att högerklicka med en fördröjning på 0,001 sekunder eller en millisekund.

Vi kan ändra funktionaliteten för musklick i avsnitt 2, där vi kan använda antingen Button.left eller Button.center attribut för att ändra klickriktningen för musen.

Om vi ​​enkelt vill se musklicket kan vi ändra fördröjningstiden till högre för att se det faktiska klicket. I den här koden, när vi inte flyttar muspekaren på skärmen, kommer den inte att klicka. Det fungerar bara när vi flyttar markören på skärmen.