Python实现连点器的示例代码

作者:潘道熹 时间:2023-04-17 00:11:29 

啊,为此我特意准备了两个程序,一个是用来测试的,一个是主程序。来看看吧

直接放连点器代码:

# 改进版
import pyautogui as pag
from time import sleep,time

pag.PAUSE = 0
def mouse():
   b = input('请问您需要点击多少下?')
   b = int(b)
   c = input('点击时需要左键还是右键?\n左键请输入0,右键输入1:')
   c = int(c)
   print('请注意:您需要在8秒内将鼠标移动到您需要连点的地方,然后不要动,等待开始快速连点。')
   sleep(8)
   print('开始点击!')
   x,y = pag.position()
   d = 'left'
   if c:
       d = 'right'
   e = time()
   for i in range(0,b):
       pag.click(x,y,button = d)
   f = time() - e
   input('完成。用时%f秒。' % f)

def key():
   print('请在以下支持的按键中挑选您需要的键。')
   for i in pag.KEYBOARD_KEYS:
       print(r'%s' % i,end=' ')
   b = input('\n请输入您需要快速输入的字符:')
   if b in pag.KEYBOARD_KEYS:
       c = input('请输入您需要多少次输入:')
       c = int(c)
       print('请注意,您需要在8秒内切换到需要输入的窗口。')
       sleep(8)
       print('开始工作!')
       e = time()
       for i in range(0,c):
           pag.press(b)
       f = time() - e
       input('完成。用时%f秒。' % f)
   else:
       input('您输入的字符不属于支持字符,请修改。')    

try:
   a = input('输入您需要的服务(数字):\n1:快速连点\n2:快速输入\n>>> ')
   a = int(a)
   if a == 1:
       mouse()
   elif a == 2:
       key()
   else:
       input('不好意思,没有找到您需要的服务。\n')
except Exception as e:
   print('错误;\n',e)

测试程序:

import pygame
from pygame.locals import *
from pygame.color import THECOLORS

pygame.init()
canvas = pygame.display.set_mode((600,600))
canvas.fill((255,255,255))
pygame.display.set_caption('TEST')

# 鼠标点击次数
mouBut = 0
# 空格键按下次数
keyDow = 0

def handle():
   global mouBut,keyDow
   for event in pygame.event.get():
       if event.type == QUIT:
           pygame.quit()
           exit()
       # 当按下鼠标
       if event.type == MOUSEBUTTONDOWN:
           x,y = event.pos
           # 且在黑色矩形内
           if 200 <= x <= 400 and 200 <= y <= 400:
               mouBut += 1
       # 当按下键盘
       if event.type == KEYDOWN:
           # 且为空格键
           if event.key == K_SPACE:
               keyDow += 1

while True:
   # 每次重绘背景
   canvas.fill((255,255,255))
   # 鼠标测试,绘制矩形
   pygame.draw.rect(canvas,(0,0,0),(200,200,200,200),0)
   # 绘制文字
   font1 = pygame.font.SysFont('Consolas',30)
   font2 = font3 = font4 = font5 = font6 = font1
   canvas.blit(font1.render('MouseButtonDown:%d' % mouBut,True,(0,0,0)),(10,10))
   canvas.blit(font2.render('KeyDown:%d' % keyDow,True,(0,0,0)),(10,50))
   canvas.blit(font3.render('CLICK ME!',True,(255,255,255)),(225,275))
   canvas.blit(font4.render('Click the black rectangle or press',True,(255,0,0)),(10,100))
   canvas.blit(font5.render('the spacebar!',True,(255,0,0)),(10,150))    
   canvas.blit(font6.render('By PanDaoxi',True,(0,0,255)),(200,500))
   handle()
   pygame.display.update()

由于发懒,没仔细做主程序GUI。运行测试程序然后再打开主程序,一旦打开程序的时候手残,就会凉凉。

Python实现连点器的示例代码

在连点模式下,
我给程序设定了8秒的等待时间,这8秒内,你需要打开测试程序,并把鼠标放在需要点的地方。

程序会询问你一些参数,

Python实现连点器的示例代码

直接回答即可。如图,按下回车键后,就开始等待那8秒,然后连点了。在此之前,我们看一下测试程序:

Python实现连点器的示例代码

点击后,

Python实现连点器的示例代码

程序点击很快,一下子点完。我用改进版试一下1000次。

Python实现连点器的示例代码

再试试快速输入,也是很快,用命令提示符试就行,这个测试程序是针对物理键盘的。

Python实现连点器的示例代码

Python实现连点器的示例代码

突然一下,多了10个。因为数太小,所以被忽略不计,试试1000.

Python实现连点器的示例代码

来源:https://blog.csdn.net/PanDaoxi2020/article/details/123181698

标签:Python,连点器
0
投稿

猜你喜欢

  • JavaScript 数据结构之集合创建(1)

    2024-04-19 10:14:34
  • asp生成静态HTML(动态读取)

    2013-06-27 19:54:48
  • PHP 获取远程网页内容的代码(fopen,curl已测)

    2024-05-05 09:17:59
  • 详解Django 中是否使用时区的区别

    2023-08-28 04:29:48
  • ASP获取当前页面URL地址(带参数)的方法

    2010-01-14 19:40:00
  • python数据拟合之scipy.optimize.curve_fit解读

    2021-05-27 01:48:49
  • 一文详解Golang中的切片数据类型

    2024-02-12 18:04:19
  • pytorch中tensor的合并与截取方法

    2022-02-11 14:16:58
  • vue中的面包屑导航组件实例代码

    2024-05-02 17:11:28
  • Python Socket编程入门教程

    2022-03-08 01:08:49
  • python进程池实现的多进程文件夹copy器完整示例

    2021-04-27 13:05:26
  • Python基于SMTP协议实现发送邮件功能详解

    2022-07-17 00:31:00
  • python数字图像处理之骨架提取与分水岭算法

    2023-03-07 15:59:50
  • 现代Python编程的四个关键点你知道几个

    2023-11-22 02:17:42
  • react redux及redux持久化示例详解

    2023-07-17 07:18:53
  • django的登录注册系统的示例代码

    2021-05-14 23:27:59
  • Python实现partial改变方法默认参数

    2022-10-30 20:23:33
  • Python实现发票自动校核微信机器人的方法

    2023-05-01 07:11:09
  • python subprocess 杀掉全部派生的子进程方法

    2021-01-28 21:44:28
  • vue.js整合vux中的上拉加载下拉刷新实例教程

    2024-04-30 10:30:17
  • asp之家 网络编程 m.aspxhome.com