-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpy_autogui.py
More file actions
65 lines (51 loc) · 1.67 KB
/
py_autogui.py
File metadata and controls
65 lines (51 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Importation des modules
from pynput.mouse import Button, Controller, Listener
from threading import Thread
import time
import keyboard
import sys
import pickle
# Création de la class
class AutoClick:
# Initialisation des variables
def __init__(self):
self.x, self.y = 0, 0
self.time = 1
self.state = True
self.mouse = Controller()
self.keyboard = Controller()
self.load_coordiante()
# Fonction pour ajouter les coordonnées
def add_coordinate(self):
with Listener(on_click=self.get_click_coordinate) as listener:
listener.join()
# Fonction pour start les coordonnées
def start(self):
t1 = Thread(target=self.stop)
t1.daemon = True
t1.start()
while self.state:
self.mouse.position = (self.x, self.y)
self.mouse.click(Button.left, 1)
time.sleep(self.time)
sys.exit()
# Fonction pour récupéré les coordonnées
def get_click_coordinate(self, x, y, button, pressed):
if pressed:
self.x, self.y = x, y
if not pressed:
# Arrete d'ecouter
return False
# Fonction pour définir le temps
def set_time(self, time_user):
self.time = time_user
# Fonction pour arreter l'auto cliker
def stop(self):
while True:
if keyboard.is_pressed('echap'):
self.save_coordinates()
self.state = False
def save_coordinates(self):
pickle.dump([self.x, self.y, self.time], open('coordinates', 'wb'))
def load_coordiante(self):
self.x, self.y, self.time = pickle.load(open('coordinates', 'rb'))