Skip to content

Repository files navigation

🖱️ DotConnector 连点器

简体中文 · English

轻量、可靠的 Windows 鼠标连点工具。纯 Python + tkinter 实现,通过 ctypes 直接调用 Win32 mouse_event / SetCursorPos 模拟点击,零第三方运行时依赖。


⚠️ 重要声明与使用限制

本软件 DotConnector 是一款通用鼠标自动化工具,仅供合法合规场景使用,包括但不限于:

  • 重复性办公操作
  • 软件测试与 UI 自动化
  • 个人学习与研究用途

🚫 严格禁止以下行为

使用本工具进行任何形式的作弊或违规操作,包括但不限于:

  • 游戏作弊:在任何网络游戏或在线竞技游戏中进行挂机、刷分、自动瞄准、自动拾取、规避反挂机检测等违反游戏运营商条款的行为
  • 流量造假:商业刷单、虚假点击、广告欺诈等
  • 干扰第三方软件:未经授权对目标程序进行干扰、破解或破坏其正常运行
  • 其他违法或侵权行为

使用者因违规使用本软件所造成的一切后果(包括但不限于游戏账号永久封禁、数据损失、法律纠纷等),均由使用者自行承担,开发者不承担任何连带责任。

启动本软件即表示您已阅读并同意上述声明。若您可能将其用于违规场景,请立即退出并删除本软件。

本项目完全免费、无广告,请勿用于灰产或作弊行为。


🖥️ 界面与交互

image
  • 5 个标签页:运行状态 / 连点模式 / 脚本模式 / 热键设置 / 更多设置
  • 5 个全局热键全部可自定义(冲突检测、Esc 取消、支持裸功能键 F1-F24)
  • 双状态运行记录:点击次数 + 脚本运行次数,各显示本次 / 历史累计
  • 置顶小窗:连点实时计数 + 脚本播放进度,可拖动、调字体/透明度、智能避让
  • 红色图标状态提示:连点运行 / 脚本录制 / 播放时,托盘与窗口图标变红,停止恢复默认蓝
  • 单实例锁:重复打开自动切换到已有实例,不产生多开
  • 历史会话日志:每次启动生成独立日志文件,可查看 / 预览 / 删除 / 导出
  • 界面 100% / 150% / 200% 缩放,高 DPI 适配,配置自动保存恢复

✨ 功能总览

🖱️ 鼠标连点

image
能力 说明
鼠标按键 左键 / 中键 / 右键
点击模式 固定间隔 / 随机间隔(可设最小~最大范围)/ 长按模式(按住+松开时长)
点击速度 输入毫秒间隔实时换算「≈ 每秒 X 次」;5 个常用预设:1 秒 1 / 10 / 20 / 50 / 100 下
点击位置 跟随鼠标(默认)或 锁定坐标(热键捕获 / 手动输入,可选 ±5px 随机偏移)
停止条件 四选一单选框:不自动停止 / 点击次数 / 倒计时(分+秒)/ 运行到指定时刻(时:分:秒)
窗口检测 按窗口标题或进程名匹配目标,目标失焦自动暂停、切回自动恢复;未选窗口启动会拦截提示

🎬 脚本录制与回放

image
  • 录制:鼠标移动轨迹、鼠标按键(左/中/右按下与释放)、键盘输入(字母/数字/功能键/符号键 -=[]\;',./)、动作间延迟
  • 播放:只执行一轮(默认)/ 循环次数 / 无限循环 / 循环间隔 / 速度倍率(加速/慢放)/ 相对移动(不跳到录制坐标)
  • 双文件格式:XML 结构化(.xml,人类可读)+ 轻量二进制(.dcs,每条动作 10 字节),播放自动识别
  • 最大录制步骤可自定义(默认 50000),移动轨迹自动抽稀(>5px 或 >50ms)
  • 播放进度实时显示:序号/总数 + 循环轮数 + 下一步操作(只显示点击与按键)

📦 安装

方式一:直接使用(推荐)

  1. 下载 [DotConnector.exe](单文件,约 12MB)
  2. 双击运行,无需安装

方式二:从源码运行

需要 Python 3.9+(含 tkinter):

python DotConnector_basic.py

本项目不依赖任何第三方库(打包除外),仅用 Python 标准库。


⌨️ 全局热键

窗口不在前台也能响应。可在「热键设置」页自定义:

image
默认热键 功能
Ctrl+F9 连点启动 / 停止
Ctrl+Shift+F8 捕获当前鼠标坐标
Ctrl+Shift+F11 脚本录制 / 停止录制
Ctrl+Shift+F12 脚本播放 / 停止播放
Ctrl+Alt+F10 强制退出软件(失控应急,立即结束进程)

💡 在「热键设置」页点击某行「设置」按钮,再按下新的组合键即完成修改,立即生效,全部界面同步更新。


⚙️ 功能详解

连点模式

项 说明
点击模式 固定间隔(1–2000ms)/ 随机间隔(最小~最大,最小>最大自动交换)/ 长按模式(按住+松开时长)
鼠标按键 左键 / 中键 / 右键
点击速度 输入毫秒实时换算「每秒 X 次」;预设:1 秒 1/10/20/50/100 下(随机/长按下自动禁用)
点击位置 跟随鼠标 / 锁定坐标(热键捕获 / 手输,±5px 随机偏移可选)
停止条件 不自动停止 / 点击次数 / 倒计时(分+秒)/ 运行到指定时刻(时:分:秒)——单选框互斥
窗口检测 按标题或进程名匹配目标窗口,失焦暂停、切回恢复;未选窗口启动会拦截提示

脚本模式

录制:

  • 记录鼠标移动(位移 >5px 或间隔 >50ms 抽稀)、鼠标按键(左/中/右按下与释放)、键盘输入、动作间延迟
  • 键盘录制默认开启;最大录制步骤可自定义(默认 50000)
  • 脚本格式:XML(默认,人类可读)或 二进制 .dcs(轻量,每条 10 字节)

播放:

  • 只执行一轮(默认,循环次数/间隔输入自动禁用)/ 循环次数 / 无限循环,循环间隔可设
  • 速度倍率(加速/慢放)、相对移动(不跳到录制坐标)
  • 脚本列表按名称/时间排序、正序/倒序,一键刷新、打开脚本文件夹
  • 选中脚本显示说明:录制步数 / 总时长 / 是否含键盘
  • 播放时实时显示:进度 序号/总数 + 循环轮数 + 下一步操作

置顶显示(更多设置页)

置顶窗 内容
连点模式置顶计数显示 实时显示本次连点次数,标明连点/急停热键
脚本模式置顶进度显示 显示播放进度 + 循环轮数 + 下一步操作,标明脚本/急停热键
  • 默认置于屏幕左上角,整窗可拖动,位置自动记住
  • 字体大小、透明度可调(默认 16 号 / 92%)
  • 智能避让:脚本即将点击置顶窗所在位置时,自动下移 / 移到右上角,点完自动归位
  • 「置顶位置恢复默认」按钮一键还原

🗂️ 本地生成的文件

image

软件会在程序所在目录(源码运行时 = 项目目录;打包后 = exe 所在目录)生成以下文件 / 文件夹:

① config.ini — 设置持久化

所有设置退出时自动写入,下次启动自动恢复。包含:

[general]   版本号、历史累计点击/脚本次数、界面缩放
[click]     鼠标按键、点击模式、速度参数(间隔/随机范围/长按/松开)
[position]  点击位置策略、锁定坐标、随机偏移开关
[stop]      停止条件(单选框模式 + 次数/倒计时/运行时间)
[window]    窗口检测开关、匹配方式(标题/进程名)、目标
[view]      置顶开关、字体、透明度、置顶窗位置、历史记录开关、界面拖拽
[script]    脚本选项(只执行一轮/循环/倍率/相对/格式/最大步骤等)
[hotkey]    5 个全局热键(修饰键 + 键码)

② logs\ — 历史会话日志

每次启动生成一个独立的会话日志文件:

logs/dotconnector_20260810_153045.log
  • 记录本次运行的全部动态:程序启动、开始/停止连点(含完整配置)、脚本录制/播放、窗口暂停/恢复、热键修改、坐标捕获等
  • 在「运行状态 → 历史记录」可查看列表、预览内容、打开日志文件夹、删除
  • 可在「更多设置 → 日志设置」关闭历史记录(默认开启)

③ Scripts\ — 脚本文件夹

  • 录制的脚本默认保存在此
  • 「脚本模式 → 播放」列表读取这里,导入/导出只需把文件放入或移出该文件夹

提示:首次运行可能只生成 config.ini;logs\ 与 Scripts\ 会分别在第一次写日志 / 保存脚本时自动创建。升级或迁移前建议备份这三个文件/文件夹(都只在程序目录内,不写入系统)。


🖥️ 系统要求

  • Windows 10 / 11(64 位)
  • 高 DPI(如 3200×2000@200%)已适配

从源码运行

python DotConnector_basic.py                # 运行 GUI
python DotConnector_basic.py --selftest     # 引擎自测(模拟点击,不碰真实鼠标)
python tests/run_regression.py              # 回归测试
python tests/single_instance_check.py       # 单实例锁测试

打包成 exe

pip install pyinstaller
pyinstaller --onefile --noconsole --name DotConnector \
    --icon icon.ico \
    --add-data "icon.ico;." --add-data "icon_run.ico;." \
    DotConnector_basic.py

架构说明

ClickEngine(独立线程)
    ├─ 固定间隔 / 随机 / 长按 三种节奏
    ├─ ctypes → user32.mouse_event 模拟点击
    └─ 坐标统计(coord_counts / last_coord)

ScriptRecorder / ScriptPlayer(独立线程)
    ├─ 录制:GetAsyncKeyState 轮询鼠标/键盘,轨迹抽稀
    ├─ 播放:流式读取 XML / DCS,速度倍率 + 循环
    └─ 进度:index / total / loop_now / next_desc

Tray(独立线程)
    ├─ RegisterHotKey 全局热键(5 个)
    ├─ 系统托盘图标(蓝/红状态切换)
    └─ 消息循环转发给主线程

单实例锁(启动时)
    └─ CreateMutexW 命名互斥体,重复启动激活已有窗口

主线程(tkinter UI)
    ├─ 5 标签页 + 自绘 ModernRadio / ModernCheck
    ├─ config.ini 持久化
    ├─ logs/ 会话日志
    └─ 置顶小窗(连点计数 / 脚本进度)

❓ 常见问题

Q:软件被安全软件告警? 模拟点击类工具可能被个别安全软件标记,属正常现象;本工具仅调用系统标准 API,不含恶意行为。

Q:热键没反应? 本软件已内置单实例锁,但若曾崩溃过可能有残留进程占用全局热键——在任务管理器结束所有 DotConnector.exe 再启动。

Q:配置/脚本/日志存到哪了? 全部在程序所在目录:config.ini、logs\、Scripts\。换电脑或重装时拷贝整个文件夹即可带走所有数据。

Q:高 DPI 下界面模糊? 程序已开启 DPI 感知,建议在「更多设置」中将缩放设为 200%(高 DPI 系统默认)。

Q:想连点但怕误触? 推荐勾选窗口检测并绑定目标窗口,失焦自动暂停;或用锁定坐标 + ±5px 随机偏移。

Q:录制的脚本能分享吗? 可以。.xml 格式是可读文本,直接分享文件即可;对方放入自己的 Scripts\ 文件夹就能用。


📄 License

感谢使用!

About

基础鼠标连点器

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages