求一个按住鼠标就能启动的鼠标 连点器

有没有一种鼠标连点器,按住鼠标左键就开始左键连点,按住鼠标右键就开始鼠标右键连点。并且有快捷键开关的鼠标连点器

用点击鼠标触发连续点击,处理循环回调有点麻烦。问了问Claude3.7拿F7/F8键替代,测试了一下没啥问题,你直接改改或拿pyinstaller打包也能方便用:

import pyautogui
import time
import win32gui
import win32con
import sys
from pynput import keyboard

# 设置点击参数
CLICK_COUNT = 10  # 点击次数
CLICK_INTERVAL = 0.2  # 点击间隔(秒)

# 最小化当前控制台窗口
def minimize_console():
    hwnd = win32gui.GetForegroundWindow()
    win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)

# 执行连续点击
def perform_clicks(button):
    print(f"执行{button}键连续点击 {CLICK_COUNT} 次")
    for i in range(CLICK_COUNT):
        if button == 'left':
            pyautogui.click(button='left')
        else:
            pyautogui.click(button='right')
        time.sleep(CLICK_INTERVAL)
    print("点击完成")

# 按键回调函数
def on_key_press(key):
    try:
        if key == keyboard.Key.f7:
            perform_clicks('left')
        elif key == keyboard.Key.f8:
            perform_clicks('right')
        elif key == keyboard.Key.f9:
            exit()
    except Exception as e:
        print(f"发生错误: {e}")

def main():
    print("鼠标连续点击工具已启动")
    print("F7 - 执行左键连续点击")
    print("F8 - 执行右键连续点击")
    print("F9 - 退出程序")
    
    # 延迟一下再最小化窗口,让用户能看到提示信息
    time.sleep(1)
    minimize_console()
    
    # 监听按键
    with keyboard.Listener(on_press=on_key_press) as listener:
        listener.join()

if __name__ == "__main__":
    main()
1 Like

用DeepSeek写的AHK,实测可用

; 开关变量初始化
Toggle := false

; 热键:Ctrl+F1切换开关状态
^F1::
    Toggle := !Toggle
    if (Toggle)
        ToolTip, 已开启鼠标连点!
    else
        ToolTip, 已关闭鼠标连点!
    ; 2秒后清除提示
    SetTimer, RemoveToolTip, -2000
return

RemoveToolTip:
    ToolTip
return

; 鼠标左键处理
~*LButton::
    if (!Toggle)
        return
    ; 记录初始点击(避免首次延迟)
    Click Left
    ; 启动连点循环
    SetTimer, HoldLeftClick, 30
    ; 等待按键释放后停止
    KeyWait, LButton
    SetTimer, HoldLeftClick, Off
return

; 鼠标右键处理
~*RButton::
    if (!Toggle)
        return
    ; 记录初始点击
    Click Right
    SetTimer, HoldRightClick, 30
    KeyWait, RButton
    SetTimer, HoldRightClick, Off
return

; 左键连点函数
HoldLeftClick:
    Click Left
return

; 右键连点函数
HoldRightClick:
    Click Right
return
1 Like

能把实测后的成品发给我吗?我不会打包成品

谢谢,能帮忙打包一下吗?我不会

打包exe下载:
https://pan.baidu.com/s/1Jcha3Mp9b50AUNKb-A6cNA?pwd=jark
提取码: jark

代码:

import pyautogui
import time, sys
import win32gui
import win32con
from pynput import keyboard

# pip install pywin32 pyautogu pynput pyinstaller

# 设置点击参数
CLICK_COUNT = 10  # 点击次数
CLICK_INTERVAL = 0.5  # 点击间隔(秒)

# 最小化当前控制台窗口
def minimize_console():
    hwnd = win32gui.GetForegroundWindow()
    win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)

# 执行连续点击
def perform_clicks(button):
    print(f"执行{button}键连续点击 {CLICK_COUNT} 次")
    for i in range(CLICK_COUNT):
        if button == 'left':
            pyautogui.click(button='left')
        else:
            pyautogui.click(button='right')
        time.sleep(CLICK_INTERVAL)
    print("点击完成")

# 按键回调函数
def on_key_press(key):
    try:
        if key == keyboard.Key.f7:
            perform_clicks('left')
        elif key == keyboard.Key.f8:
            perform_clicks('right')
        elif key == keyboard.Key.f9:
            sys.exit()
    except Exception as e:
        print(f"发生错误: {e}")

def get_input(prompt, value_type, min_val, max_val, def_Val):
    while True:
        try:
            user_input = input(prompt)
            if len(user_input) == 0:
                return def_Val
            num = value_type(user_input)
            if min_val <= num <= max_val:
                return num
            else:
                print(f"输入的值必须在 {min_val} 到 {max_val} 之间,请重新输入。")
        except ValueError:
            print("输入无效,请输入一个有效的数值。")


def main():
    global CLICK_COUNT, CLICK_INTERVAL

    print("鼠标连续点击工具V1.0 作者: Github@JARK006\n")
    print("F7 - 执行左键连续点击")
    print("F8 - 执行右键连续点击")
    print("F9 - 退出程序\n")
    
    # 获取点击次数
    CLICK_COUNT = get_input(
        "请输入点击次数(2~1000, 若没有输入直接Enter则默认10): ",
        int,
        2,
        1000,
        10,
    )

    # 获取点击间隔
    CLICK_INTERVAL = get_input(
        "请输入点击间隔(秒,0.01~1000, 若没有输入直接Enter则默认0.5): ",
        float,
        0.01,
        1000.0,
        0.5
    )

    print("\n程序窗口即将自动最小化")
    time.sleep(1)
    minimize_console()
    
    # 监听按键
    with keyboard.Listener(on_press=on_key_press) as listener:
        listener.join()

if __name__ == "__main__":
    main()

满城百姓,感激不尽 :laughing:

兄弟,你这个不对呀,我的意思是说按快捷键开关功能,但是不执行连点。按住鼠标左键或者右键不松开,才开始执行连点。比如我按 F1 开启功能,然后按住鼠标左键执行左键连点;然后按住鼠标右键执行右键连点。再次按 F1 关闭功能。

这种的,还得 AHK 的来搞, chr 说了实测可用,你查一下 AHK 的用法,很简单的。
1、安装 AutoHotkey
2、将他的代码复制到记事本,另存为 xx.ahk 文件。
3、双击运行这个 xx.ahk 文件。

1 Like

好的,我试试看。谢谢

AHK版本打包