Loading... > 开源、免费、无广告,兼容大多数鼠标和键盘,大部分游戏和应用一样适用。 ## 📖 一、项目简介 | 项目 | 说明 | | :--- | :-------------------------------------- | | 软件名称 | TL_Macro | | 使用平台 | Windows 10/11(x64) | | 主要技术 | PyQt5 + pynput + 硬件级输入 | | 成品软件 | https://p.tiax.cn/Macro | | 源码地址 | https://github.com/x0620x/tl_macro_tool | | 程序界面 | <img src="https://i.tiax.cn/20251019152205.png" alt="程序界面" style="zoom:5%;" style=""> | --- ## 🧩 二、功能速览 | 模块 | 功能 | 备注 | | :------------- | :--------------------------- | :----------------------- | | 🎯 多键宏 | 录制一串按键+精确时序 | 支持3种触发模式 | | 🔥 单键宏 | 对单个键高速连点 | 可设频率/按住连发 | | 🖱️ 鼠标支持 | 中键、右键、侧键1/2 | 左键被禁用,防止误触 | | 🎯 窗口焦点控制 | 智能识别目标窗口,防止误操作 | 支持进程名和窗口标题过滤 | | ⌨️ 全局热键 | 后台监听,无需焦点 | 可识别组合冲突 | | 📁 配置管理 | 多配置、实时保存、历史记忆 | json文件,手动可编辑 | | 🔔 系统托盘 | 最小化常驻,双击唤出 | 退出前自动保存 | | 🛡️ 安全防护 | 热键冲突检测、管理员权限 | 防止误操作 | --- ## 🧪 三、技术栈一览 **PyQt5** - `QMainWindow`、`QTabWidget`、`QTableWidget`、`QSystemTrayIcon` 构建主界面、标签页、表格、托盘菜单 **pynput** - `pynput.keyboard.Listener`、`pynput.mouse.Listener` 录制键盘/鼠标按键,阻断式获取单键 **keyboard** - `keyboard.is`、`pressed`、`keyboard.read_event` 后台循环检测热键状态,全局无焦点触发 **ctypes.SendInput** - `windll.user32.SendInput` 调用 Win32 API 注入硬件级输入,绕过消息队列 **threading** - `Thread`、`Event` 热键监听与宏执行异步化,UI 不卡顿 **json + os** - 配置读写、历史记录、多文件管理 --- ## 🛠️ 四、快速开始 ### 安装与运行 **✅系统要求** - 操作系统: Windows 10/11 (64位) - Python版本: 3.7+ (如运行源码) - 权限要求: 管理员权限(自动获取) --- **✅运行方式** - 方式一:直接运行exe版本(推荐)、双击`TL_Macro.exe` - 方式二:运行Python源码 ```bash $ pip install PyQt5 pynput keyboard $ python app.py ``` > 💡 提示: 程序启动时会自动请求管理员权限,请点击"是"确认,否则部分功能可能无法正常工作。 --- ### 基础使用教程 #### 1️⃣ 创建配置文件 - 点击左侧"新建"按钮 - 输入配置名称(最多10个字符),如"弓法配置" - 点击确定创建,配置会自动保存 --- #### 2️⃣ 录制多键宏序列 - 切换到"多键宏"标签页 - 点击"添加"按钮开始录制 - 按下需要的键盘按键(不支持鼠标按键) - 设置时间参数: - 按下时间: 25ms (推荐) - 弹起时间: 25ms (推荐) - 间隔时间: 25ms (推荐) > ⚠️ 时间参数说明 > - 时间范围: 5 - 9999ms (毫秒) > - 宏序列仅支持单个键盘按键,不支持鼠标按键或组合键 > - 推荐值: 20-50ms,平衡响应速度和稳定性 > ❓为什么是 5ms 下限?系统限制:Windows 的计时器精度默认是 15.6ms,即使用高精度计时器,5ms 以下 的延迟也可能被系统忽略或合并。 游戏/软件识别不了:很多游戏或程序检测不到低于 5ms 的按键事件,会被认为是无效输入或异常行为。 防止崩溃或卡顿:如果宏执行得太快,游戏引擎可能来不及响应,导致掉线、卡死、闪退。 > ❓为什么是 9999ms 上限?防止误操作:超过 10 秒的间隔,可能以为宏没工作,误触多次,导致混乱。 实用性限制:大多数宏场景(连招、刷任务、挂机)不需要超过 10 秒的间隔,9999ms(约 10 秒)已经覆盖 99% 的使用场景。 安全机制:防止用户设置极端长时间隔(比如 5 分钟),误以为宏坏了,反复启动,造成资源浪费或逻辑冲突。5ms 是系统能稳定识别的极限,9999ms 是用户还能理解的“最大等待时间”。 --- #### 3️⃣ 设置启动热键 - 点击"设置热键"按钮 - 按下想要的触发按键: - ✅ 支持: 鼠标中键、右键、侧键1/2、所有键盘按键 - ❌ 不支持: 鼠标左键、组合按键 --- #### 4️⃣ 配置单键宏 - 切换到"单键宏"标签页 - 设置单键宏热键(仅支持单个键盘按键) - 调整时间参数: - 按下时间: 20ms - 弹起时间: 20ms - 间隔时间: 30ms - 选择执行模式 > 🎯 单键宏应用场景: > - 弓法职业: 5秒自动按一次治愈之手 > - 弩匕职业: 自动按回蓝技能 > - 所有职业: 定时挂Buff技能 --- #### 5️⃣ 窗口焦点控制(v1.4新增) - 切换到"焦点控制"标签页 - 选择"窗口模式" - 点击"添加进程"从历史记录选择(如果无您要选择的记录,请切换到这个窗口一次) - 或手动添加: - 进程名称: 精确匹配,如 TL.exe - 窗口标题: 包含匹配,如 王权与自由 > 🛡️ 焦点控制优势: > - 防止在聊天窗口误触发宏 > - 只在游戏窗口中生效,焦点离开指定窗口宏立即停止 > - 自动识别当前活动窗口 --- ## 🚦 五、触发模式详解 ### 多键宏模式 | 模式 | 触发方式 | 停止方式 | 适用场景 | 操作提示 | | :---- | :--------- | :--------------- | :-------------- | :----------------------- | | 模式1 | 按一下热键 | 再按一下热键 | 长连招/循环Buff | 按一次开始,再按一次停止 | | 模式2 | 按一下热键 | 执行一次后自动停 | 瞬发组合技 | 按一次执行完整序列 | | 模式3 | 按住热键 | 松开后停止 | 手动节奏输出 | 按住期间循环执行 | --- ### 单键宏模式 | 模式 | 触发方式 | 停止方式 | 适用场景 | 操作提示 | | :---- | :--------- | :----------- | :----------- | :----------------------- | | 模式1 | 按一下热键 | 再按一下热键 | 持续自动技能 | 按一次开始连点,再按停止 | | 模式2 | 按住热键 | 松开后停止 | 临时快速连点 | 按住期间连续触发 | --- ## ⚡ 六、高级使用技巧 ### 热键选择策略 🎮 游戏场景推荐: - 多键宏: 鼠标侧键、F1-F4功能键 - 单键宏: 数字键1-4、字母键QERT - 避免: 常用技能键、移动键 --- 💼 办公场景推荐: - 多键宏: F9-F12、Insert、Delete - 单键宏: 小键盘数字键 - 避免: Ctrl、Alt、Win系统键 --- ### 时间参数优化 ⚡ 高速连招 (PVP场景): - 按下时间: 15-20ms - 弹起时间: 15-20ms - 间隔时间: 30-40ms --- 🛡️ 稳定输出(PVE场景): - 按下时间: 20-30ms - 弹起时间: 20-30ms - 间隔时间: 50-80ms --- 🎯 精确控制 (特殊技能): - 按下时间: 50-100ms (长按技能) - 弹起时间: 20-30ms - 间隔时间: 100-200ms (冷却等待) --- ### 窗口焦点高级配置 🔧 精确匹配: - 进程名: `tl.exe` (精确文件名) - 窗口标题: `王权与自由` (包含关键词) --- 🎯 多条件配置: 1. 添加多个进程名应对不同版本 2. 使用窗口标题关键词覆盖更多情况 3. 进程名和标题条件为"或"关系 --- 📝 实际示例: - 进程名: `tl.exe`, `tl_launcher.exe` - 窗口标题: `Throne and Liberty`, `王权与自由` --- ### 配置管理技巧 💾 备份策略: 1. 定期导出重要配置 2. 使用描述性配置名称 3. 为不同职业创建独立配置 --- 🔄 快速切换: 1. 为常用配置设置简短名称 2. 利用历史记录快速加载 3. 配置间热键避免冲突 --- ## ⚠️ 七、注意事项 ### 权限与安全 - 管理员权限必须 - 部分游戏屏蔽非管理员输入 - 杀毒软件误报 - 如遇拦截请添加白名单 - 游戏合规性 - 了解游戏规则,避免违规使用 ### 功能限制 - 鼠标左键禁用 - 防止日常操作误触 - 组合键不支持 - 单键触发确保精确性 - 冲突检测 - 工具内建热键冲突检查 ### 性能优化 - 适当时间间隔 - 避免设置过短间隔增加CPU负载 - 按需启用功能 - 不需要时关闭窗口焦点监控 - 及时停止宏 - 切换窗口前停止正在运行的宏 --- ## 🔧 八、故障排除 #### ❌ 热键无法触发 **症状**: 按下热键无反应,程序无提示; 🔍 排查步骤: 1. 检查是否以管理员权限运行 2. 确认热键没有与其他软件冲突 3. 验证窗口焦点设置是否正确 4. 查看系统托盘程序是否正常运行 --- #### ❌ 宏执行不稳定 **症状**: 宏时灵时不灵,按键遗漏; 🔍 解决方案: 1. 增加时间参数,特别是间隔时间 2. 检查目标窗口是否保持焦点 3. 降低执行频率避免系统资源占用 4. 关闭其他可能干扰的软件 --- #### ❌ 窗口焦点识别错误 **症状**: 宏在错误窗口中触发或不触发; 🔍排查方法 1. 使用"刷新信息"按钮确认当前窗口 2. 检查进程名称拼写是否正确 3. 尝试使用窗口标题关键词匹配 4. 确认窗口模式已启用(非全局模式) --- #### ❌ 程序无法启动 **症状**: 双击exe无反应或闪退; 🔍 解决方案 1. 确认系统为Windows 10/11 64位 2. 安装VC++运行库 3. 右键"以管理员身份运行" 4. 查看Windows事件日志获取错误信息 --- ### 高级调试技巧 程序运行日志会在控制台输出,包含: - ✅ 热键监听状态 - ✅ 宏执行信息 - ✅ 窗口焦点变化 - ❌ 错误信息详情 --- ## 🎯 九、使用场景示例 ### 游戏场景配置 #### 🏹 弓法职业配置 **多键宏** (鼠标侧键1): 1 → 2 → 3 → 4 (技能连招) 时间: 20ms按下, 20ms弹起, 50ms间隔 **单键宏** (F1键): 治愈之手 (每5秒自动释放) 时间: 30ms按下, 30ms弹起, 5000ms间隔 --- #### ⚔️ 弩匕职业配置 **多键宏** (鼠标侧键2): Q → W → E → R (爆发连招) 时间: 15ms按下, 15ms弹起, 40ms间隔 **单键宏** (F2键): 回蓝技能 (低蓝量时自动使用) 时间: 25ms按下, 25ms弹起, 3000ms间隔 --- 📊 Excel数据处理 **多键宏** (F9键): Ctrl+C → Tab → Ctrl+V → Enter 时间: 30ms按下, 30ms弹起, 100ms间隔 📝 文档格式调整 **单键宏** (F10键): Ctrl+B (快速加粗文本) 时间: 20ms按下, 20ms弹起, 200ms间隔 --- ## 📁 十、文件目录说明 ``` macro_tool_v1.4/ ├─ app.exe # 主程序 ├─ config/ # 配置目录 │ ├─ history.json # 历史记录(最近使用的配置) │ ├─ 弓法.json # 用户配置示例 │ ├─ 弩匕.json # 用户配置示例 │ └─ ... ├─ resource/ # 资源文件 │ └─ tl.ico # 程序图标 └─ logs/ # 日志目录(可选) ``` 配置文件详解 ``` { "hotkey": "鼠标侧键1", "macros": [ { "key": "1", "press": 20, "release": 20, "interval": 50 } ], "mode": 1, "single_key_macro": { "hotkey": "F1", "press_time": 20, "release_time": 20, "interval": 30, "mode": 1 }, "window_focus": { "global_mode": false, "processes": ["game.exe"], "titles": ["王权与自由"] } } ``` --- ## 🤝 十一、致谢与开源 献给 Juuuu(俊恩哥)与所有《王权与自由》的冒险者。 - 开源协议: MIT – 可商用、可修改、请保留原作者信息 - 问题反馈: GitHub Issue 区或反馈链接 💬 **交流渠道**: - GitHub Issues: 技术问题反馈 - 项目Wiki: 使用教程和开发文档 - 社区讨论: 使用心得分享 --- ## 📜 十二、版本记录 | 版本 | 日期 | 更新内容 | 重要提示 | | :--- | :--------- | :------------------------------------------- | :--------------------- | | 1.4.2 | 2025-10-29 | 应用户需求,宏序列支持鼠标和alt组合按键 | 多键宏序列支持鼠标和组合按键 | | 1.4.1 | 2025-10-27 | 修改最小5ms限制 | 时间范围可以修改1-9999ms | | 1.4 | 2025-10-19 | 新增窗口焦点控制功能,支持进程和窗口标题过滤 | 大幅提升使用安全性 | | 1.3 | 2025-10-16 | 配置结构优化,多键宏和单键宏统一存储 | 解决职业切换配置问题 | | 1.2 | 2025-10-09 | GUI用QT5重构,输入方式改为SendInput | 提升输入兼容性和稳定性 | | 1.1 | 2025-08-10 | 首版发布,基于TKinter构建 | 基础功能实现 | --- ## ⌛️ 十三、后续开发计划 | 功能 | 状态 | 说明 | 预计版本 | | :--------- | :------- | :------------------------ | :------- | | 多个单键宏 | 🔄 规划中 | 支持同时设置多个单键宏 | v1.5 | | 持续录制 | 🔄 规划中 | 一键录制完整宏序列 | v1.5 | | 硬件级输入 | 🔍 研究中 | 调用罗技DLL实现真硬件输入 | v2.0 | | 条件触发 | 💡 构思中 | 基于游戏状态的智能触发 | v2.0 | | 云端同步 | 💡 构思中 | 配置文件的云端备份同步 | v2.1 | --- ## 🎮 开始使用 立即下载,开启你的自动化冒险之旅! **温馨提示:** - 🛡️ 合理使用宏工具,享受游戏乐趣 - 📚 遵守游戏规则,避免账号风险 - 🔧 遇到问题先查看本手册故障排除章节 - 💝 开源项目,欢迎Star和贡献代码 如果这个项目对你有帮助,请给个⭐Star支持一下! 最后修改:2025 年 10 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 25 钥匙你想请我喝酱香拿铁的话!