有没有一种鼠标连点器,按住鼠标左键就开始左键连点,按住鼠标右键就开始鼠标右键连点。并且有快捷键开关的鼠标连点器
用点击鼠标触发连续点击,处理循环回调有点麻烦。问了问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()
满城百姓,感激不尽
兄弟,你这个不对呀,我的意思是说按快捷键开关功能,但是不执行连点。按住鼠标左键或者右键不松开,才开始执行连点。比如我按 F1 开启功能,然后按住鼠标左键执行左键连点;然后按住鼠标右键执行右键连点。再次按 F1 关闭功能。
这种的,还得 AHK 的来搞, chr 说了实测可用,你查一下 AHK 的用法,很简单的。
1、安装 AutoHotkey
2、将他的代码复制到记事本,另存为 xx.ahk 文件。
3、双击运行这个 xx.ahk 文件。
1 Like
好的,我试试看。谢谢
AHK版本打包