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。運行測試程序然後再打開主程序,一旦打開程序的時候手殘,就會涼涼。

在這裡插入圖片描述

在連點模式下,
我給程序設定瞭8秒的等待時間,這8秒內,你需要打開測試程序,並把鼠標放在需要點的地方。

程序會詢問你一些參數,

在這裡插入圖片描述

直接回答即可。如圖,按下回車鍵後,就開始等待那8秒,然後連點瞭。在此之前,我們看一下測試程序:

在這裡插入圖片描述

點擊後,

在這裡插入圖片描述

程序點擊很快,一下子點完。我用改進版試一下1000次。

在這裡插入圖片描述

再試試快速輸入,也是很快,用命令提示符試就行,這個測試程序是針對物理鍵盤的。

在這裡插入圖片描述

突然一下,多瞭10個。因為數太小,所以被忽略不計,試試1000.

在這裡插入圖片描述

到此這篇關於Python實現連點器的文章就介紹到這瞭,更多相關Python實現連點器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: