Python如何实现连点器

发布时间:2022-03-02 12:26:26 作者:小新
来源:亿速云 阅读:1064

这篇文章主要介绍了Python如何实现连点器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

直接放连点器代码:

# 改进版
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如何实现连点器

感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何实现连点器”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. sql连oracle链接服务器
  2. mysql连表实现级联删除

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python装饰器相关知识点

下一篇:oracle中fetch怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》