Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Python, C# разработчик

Автокликер на Python

Добавлено 02 фев 2024 в 18:43
Описание проекта:
Этот проект - это автокликер, разработанный на Python, который позволяет автоматизировать рутинные задачи.

Основные характеристики:

  • Интерактивный пользовательский интерфейс, созданный с помощью Tkinter, обеспечивает удобство использования.
  • Возможность задавать координаты клика и интервалы между кликами.
  • Использование многопоточности для обеспечения отзывчивости интерфейса и независимости процесса клика от UI.
  • Функционал отслеживания положения курсора и установки горячих клавиш для управления автокликером.
Использованные технологии:

  • Python: Язык программирования, на котором написан автокликер.
  • Tkinter: Библиотека для создания графического интерфейса пользователя.
  • PyAutoGUI: Библиотека для автоматизации взаимодействия с пользовательским интерфейсом на уровне ОС.
  • Threading: Модуль Python для многопоточного выполнения кода.
  • Keyboard: Библиотека для работы с горячими клавишами и событиями клавиатуры.
О проекте:

def automated_click(interval):
global running, time_left
running = True
update_status("Статус: Активен")
while running:
time_left = interval
while time_left > 0 and running:
time.sleep(1)
time_left -= 1
update_timer()
if running:
pyautogui.click(x, y)
  • Основная функция, где выполняется скрипт. Здесь объявлена глобальная переменная running, time_left, отслеживающая статус активности и время.
  • При вызове функции running устанавливается в значение True, что обновляет статус на "Активен", и затем активирует основной цикл.
  • В цикле time_left изначально равно интервалу между кликами, а вложенный цикл уменьшает time_left каждую секунду, обновляя таймер через функцию update_timer.
def start_clicking():
global x, y
x = int(x_entry.get())
y = int(y_entry.get())
interval = int(interval_entry.get())
t = threading.Thread(target=automated_click, args=(interval,))
t.daemon = True
t.start()
  • Этот код отвечает за активацию клика. В переменные x и y записываются координаты, полученные из UI (x_entry.get() и y_entry.get()), и преобразуются в целые числа.
  • Также извлекается значение интервала между кликами из поля ввода интервала (interval_entry.get()).
  • Создается новый поток для выполнения функции automated_click, с передачей ему интервала как аргумента. Этот поток устанавливается как демон (t.daemon = True), что обеспечивает его автоматическое завершение при закрытии программы.
  • Поток запускается с вызовом t.start(), инициируя процесс автоматического клика.
def stop_clicking():
global running
running = False
update_status("Статус: Остановлен")
update_timer("Время до клика: --")
  • Функция для остановки автокликера.
def update_timer(text=""):
if text:
timer_label.config(text=text)
else:
timer_label.config(text=f"Время до клика: {time_left} сек.")
  • Обновление таймера в пользовательском интерфейсе.
def track_cursor():
global tracking
if not tracking:
tracking = True
messagebox.showinfo("Отслеживание курсора", "Режим отслеживания курсора включен. Нажмите Ctrl+Alt+C для сохранения положения.")
keyboard.add_hotkey('ctrl+alt+c', save_cursor_position)

def save_cursor_position():
global tracking, x, y
if tracking:
x, y = pyautogui.position()
tracking = False
x_entry.delete(0, tk.END)
x_entry.insert(0, x)
y_entry.delete(0, tk.END)
y_entry.insert(0, y)
messagebox.showinfo("Координаты сохранены", f"Точка клика установлена на ({x}, {y}).")
keyboard.remove_hotkey('ctrl+alt+c')

keyboard.add_hotkey('ctrl+alt+s', track_cursor)
keyboard.add_hotkey('ctrl+alt+x', stop_clicking)
  • Эти функции отвечают за отслеживание курсора мыши. Пользователь может активировать режим отслеживания курсора, а затем сохранить его положение в координатах x, y.
3a1cc6b420 66e814b222 A5c10e654b A50ebd3aeb 3e346966dc 2f8e1c4017