Python自动点击器

一、如何制作一个Python自动点击器?

当用户单击开始键时,代码将从键盘获取输入,并在用户单击退出键时终止自动点击器,自动点击器开始单击指针放置在屏幕上的任何位置。我们将在这里使用pynput模块。

二、什么是自动点击器?

自动点击器是一个脚本,您可以根据需要多次自动控制鼠标和键盘。它使用用户定义的键进行控制。它适用于 Windows、Mac 和 Linux 等各种平台。pywin32 模块中存在自动点击器。

用旧电脑搭建NAS在您的家庭中,通过将旧 PC 转变为NAS服务器,您可以轻松搭建个人云存储、智能家居中心和媒体流设备。这个经济实惠的选择不仅更加灵活,还能充分利用旧 PC 的性能,使其更为强大。选择适合您的NAS操作系统,如Windows、OpenMediaVault、UnRAID或TrueNAS,为您提供不同的功能和性能。通过添加适用于PC到NAS的硬件附件,如Intel X520-DA1网卡、PCIe转M.2适配卡和PCIe SATA控制器扩展卡,您可以进一步提升网络速度和存储效率。借助个人云软件如Nextcloud,智能家居中心软件如Home Assistant,以及流媒体软件如Plex,您的NAS不仅是一个存储解决方案,更是家庭网络的核心。搭建NAS,创造更便捷、智能、娱乐的家居生活!icon-default.png?t=N7T8https://fostmar.online/archives/454/三、制作:

在这个项目中,我们将使用跨平台模块pynput来同时控制鼠标和监视键盘,以创建简单的自动点击器。为了检查鼠标事件,我们将为此执行安装pynput 模块(用于控制鼠标),在 cmd 中安装模块:

pip install pynput 。

验证pynput模块是否已成功安装到您的工作环境中:在cmd或Python Shell系统上打开 IDLE 。执行命令:

import pynput

执行此命令后,输出应该给出零错误,这意味着模块已成功安装。

四、执行:

现在让我们继续使用 Python 构建自动点击器所需的代码。

下面是完整的程序:

# importing time and threading 
import time 
import threading 
from pynput.mouse import Button, Controller 

# pynput.keyboard is used to watch events of 
# keyboard for start and stop of auto-clicker 
from pynput.keyboard import Listener, KeyCode 


# four variables are created to 
# control the auto-clicker 
delay = 0.001
button = Button.right 
start_stop_key = KeyCode(char='a') 
stop_key = KeyCode(char='b') 

# threading.Thread is used 
# to control clicks 
class ClickMouse(threading.Thread): 
    
# delay and button is passed in class 
# to check execution of auto-clicker 
    def __init__(self, delay, button): 
        super(ClickMouse, self).__init__() 
        self.delay = delay 
        self.button = button 
        self.running = False
        self.program_running = True

    def start_clicking(self): 
        self.running = True

    def stop_clicking(self): 
        self.running = False

    def exit(self): 
        self.stop_clicking() 
        self.program_running = False

    # method to check and run loop until 
    # it is true another loop will check 
    # if it is set to true or not, 
    # for mouse click it set to button 
    # and delay. 
    def run(self): 
        while self.program_running: 
            while self.running: 
                mouse.click(self.button) 
                time.sleep(self.delay) 
            time.sleep(0.1) 


# instance of mouse controller is created 
mouse = Controller() 
click_thread = ClickMouse(delay, button) 
click_thread.start() 


# on_press method takes 
# key as argument 
def on_press(key): 
    
# start_stop_key will stop clicking 
# if running flag is set to true 
    if key == start_stop_key: 
        if click_thread.running: 
            click_thread.stop_clicking() 
        else: 
            click_thread.start_clicking() 
            
    # here exit method is called and when 
    # key is pressed it terminates auto clicker 
    elif key == stop_key: 
        click_thread.exit() 
        listener.stop() 


with Listener(on_press=on_press) as listener: 
    listener.join()

现在让我们执行我们编写的 python 程序,然后按开始 (a)和停止 (a)键以启动自动点击器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297283.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FineBI实战(1):mysql实战案例简介

下面我通过案例来介绍FineBI的使用。 1 业务背景介绍 本案例围绕某个互联网小型电商的订单业务来开发。某电商公司,每天都有一些的用户会在线上采购商品,该电商公司想通过数据分析,查看每一天的电商经营情况。例如:电商公司的运…

并发(2)

目录 6.通常线程有哪几种使用方式? 7.基础线程机制有哪些? 8.线程的中断方式有哪些? 9.线程的互斥同步方式有哪些?如何比较和选择? 10.Synchronized可以作用在哪里? 6.通常线程有哪几种使用方式&#x…

Python基础知识总结3-面向对象进阶知识

面向对象三大特征介绍 继承子类扩展父类语法格式关于构造函数:类成员的继承和重写查看类的继承层次结构 object根类dir() 查看对象属性重写 __str__() 方法 多重继承MRO方法解析顺序super()获得父类定义多态特殊方法和运算符重载特殊属性 对象的浅拷贝和深拷贝组合_…

【提示学习论文五】Conditional Prompt Learning for Vision-Language Models论文原理及复现工作

Conditional Prompt Learning for Vision-Language Models 视觉语言模型的条件提示学习 文章介绍 这篇文章于2022年发表在CVPR(Conference on Computer Vision and Pattern Recognition),作者是kaiyang.zhou, jingkang001, ccloy, ziwei.li…

PostgreSQL的常见错误和解决方法

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 在学习新的东西时,会犯很多的错误,会遇到很多坑。我们在填坑与犯错中不断进步成长。 以下是在学习pgsql中…

【QT】自定义代理类

目录 1 我们为什么要使用自定义代理类? 2 自定义代理类的基本设计要求 3 自定义代理的功能 4 基于QSpinBox的自定义代理类 5 自定义代理类的使用 1 我们为什么要使用自定义代理类? 传统的模型-视图框架可以让我们实现逻辑展示相分离,我们…

trino-435:dynamic catalog数据库存储代码实现

一、dynamic catalog数据库存储源码分析 dynamic catalog的实现主要涉及到两个类:CoordinatorDynamicCatalogManager、WorkerDynamicCatalogManager,这两个类的详细信息如下: 这两个类主要提供了对catalog的增删改查的方法。trino-435源码中…

C++补充内容--EasyX-UI界面

esay x 其他 地图打印(利用二维数组) 双缓冲 当我们绘制一张图 然后另一张图盖住前一张图的某个部分的时候 由于while的存在 会导致 两张图不停的闪烁 所以加入双缓冲可以解决这个问题 开启双缓冲 之后等待Flush或者End 才会进行图片的绘制 不然不会进行图片的绘制,这样就可…

docker拉取镜像提示 remote trust data does not exist for xxxxxx

1、How can I be sure that I am pulling a trusted image from docker 2、docker: you are not authorized to perform this operation: server returned 401. 以上两个问题可以试试以下解决办法 DOCKER_CONTENT_TRUSTfalse 本人是使用jenkins部署自己的项目到docker容器出现…

Linux基础——进程初识(二)

1. 对当前目录创建文件的理解 我们知道在创建一个文件时&#xff0c;它会被默认创建到当前目录下&#xff0c;那么它是如何知道当前目录的呢&#xff1f; 对于下面这样一段代码 #include <stdio.h> #include <unistd.h>int main() {fopen("tmp.txt", …

51单片机串行口相关知识

51单片机串行口相关知识 串行通信概念 计算机与外部通信方式就两种&#xff1a; 并行通信串行通信 两种通信方式的特点以及适用场景&#xff1a; 名称特点适用场景并行通信速度快&#xff0c;效率高&#xff0c;成本高适合短距离高速通信&#xff0c;如计算机内部各硬件之…

MySQL-DDL

DDL是数据定义语言&#xff0c;用来定义数据对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09; 数据库操作&#xff1a; 1.查询&#xff1a; 查询所有数据库&#xff1a;SHOW DATABASES; 查询当前数据库&#xff1a;SELECT DATABASE(); 2.创建&#xff1a; C…

性能分析与调优: Linux 使用 iperf3 进行TCP网络吞吐量测试

目录 一、实验 1.环境 2.TCP网络吞吐量的微观基准测试 二、问题 1.iperf参数有哪些 2.iperf如何二进制安装 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测…

BLE Mesh蓝牙组网技术详细解析之Model Layer模型层(八)

目录 一、什么是BLE Mesh Model Layer模型层&#xff1f; 二、SIG Model 2.1 模型概念 2.2 消息格式 2.3 开关模型 四、资料获取 一、什么是BLE Mesh Model Layer模型层&#xff1f; Models Layer的作用是定义了一些通用的或特定的模型&#xff0c;用于实现网络节点设备…

UE5 VR版增强输入初体验 官方模板学习

问题 我们传统的输入方式&#xff0c;是通过编辑器设置输入操作映射&#xff0c;然后BindAction和BindAxis绑定 这边插播一条增强输入知识点&#xff0c;参考知乎大佬文章 和增强输入的VR模板教学&#xff1a;如何使用VR模板在UE5中使用增强输入系统_哔哩哔哩_bilibili 实践操…

Agilent安捷伦E4407B频谱分析仪26.5GHz

E4407B是安捷伦ESA-E系列频谱分析仪&#xff0c;它是一款能够适应未来需要的中性能频谱分析仪解决方案。该系列在测量速度、动态范围、精度和功率分辨能力上&#xff0c;都为类似价位的产品建立了性能标准。其灵活的平台设计使得研发、制造和现场服务工程师能够自定义产品&…

输电线路分布式故障诊断装置的应用-深圳鼎信

输电线路分布式故障诊断装置是一种利用分布式行波法实现故障定位的设备&#xff0c;它的应用场景、类型和功能特点如下&#xff1a; 一、应用场景 分布式故障定位装置适用于各种复杂环境的高压输电线路&#xff0c;例如三跨线路&#xff08;跨越铁路、一级及以上公路和重要输…

利用注解和反射处理方法级别的逻辑

1. 定义自定义注解 首先&#xff0c;我们定义一个自定义注解 MyAnnotation&#xff0c;用于标记需要特殊处理的方法。该注解具有一个 value 属性&#xff0c;表示方法的标识。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java…

Cannot resolve property ‘driverClassName‘

已解决 Cannot resolve property 错误 最近在学习spring时遇到了下面的问题&#xff1a; spring读取不到property的name属性&#xff0c;报红&#xff0c;编译不通过&#xff0c;上网查到了两种解决方案&#xff0c;如下&#xff1a; 1、重新加载spring文件就可以解决问题了&a…

机器学习-基于attention机制来实现对Image Caption图像描述实验

机器学习-基于attention机制来实现对Image Caption图像描述实验 实验目的 基于attention机制来实现对Image Caption图像描述 实验内容 1.了解一下RNN的Encoder-Decoder结构 在最原始的RNN结构中&#xff0c;输入序列和输出序列必须是严格等长的。但在机器翻译等任务中&…