🌐 全局操作
全局操作用于控制软件整体运行状态:
| 功能 | 说明 |
|---|---|
| 🌙 休眠 | 立即终止所有宏,并禁用软件全部功能;取消休眠后恢复运行。 |
| ⏸️ 暂停 | 暂停当前所有宏,再次点击继续执行。 |
| ⛔ 终止所有宏 | 强制停止所有正在运行的宏任务,不可恢复,用于紧急情况。 |
| 🔄 重载 | 重新加载当前配置,撤销未保存的修改(图形节点编辑器中的修改不会撤销)。 |
| 💾 应用并保存 | 保存并立即应用所有修改;未点击前,修改的配置不会生效。 |
全局操作用于控制软件整体运行状态:
| 功能 | 说明 |
|---|---|
| 🌙 休眠 | 立即终止所有宏,并禁用软件全部功能;取消休眠后恢复运行。 |
| ⏸️ 暂停 | 暂停当前所有宏,再次点击继续执行。 |
| ⛔ 终止所有宏 | 强制停止所有正在运行的宏任务,不可恢复,用于紧急情况。 |
| 🔄 重载 | 重新加载当前配置,撤销未保存的修改(图形节点编辑器中的修改不会撤销)。 |
| 💾 应用并保存 | 保存并立即应用所有修改;未点击前,修改的配置不会生效。 |
软件主界面通过不同页签对功能进行分类管理:
| 页签 | 说明 |
|---|---|
| ⌨️ 按键宏 | 通过快捷键触发宏,支持手柄、键鼠以及它们的组合键(如 Ctrl + C)。 |
| 🔤 字串宏 | 通过输入特定字符序列触发宏(如连续按键、输入字符串)。 |
| 🧭 菜单宏 | 通过快捷键呼出菜单轮盘,再由菜单按钮触发对应宏(可用 F1~F8 快捷触发)。 |
| 🪟 界面宏 | 激活窗口时在界面上显示悬浮按钮,也可通过快捷键进行开关控制。自定义界面可以把控件绑定到某条宏的指定参数,运行中修改控件即修改该参数;可绑定的字段见「界面宏字段绑定支持表」。 |
| ⏰ 定时宏 | 按时间触发宏,支持单次、软件启动时和周期触发,并可限制每次任务的运行时长。 |
| 🧩 宏 | 可被其他宏调用的宏片段。 |
| 🎮 按键替换 | 将某个按键映射为其他按键或组合键。 |
| 🛠️ 工具 | 辅助功能集合,如变量监视器、文件校验、截图、录制、取色、窗口信息等。 |
| ⚙️ 设置 | 修改软件的全局配置与行为选项。 |
| ❓ 帮助 | 使用说明、开源地址、交流群、反馈与更新日志。 |
| ❤️ 赞助 | 支持作者持续维护与功能迭代。 |
| 🌟 特别感谢 | 感谢代码贡献者、开源项目与社区成员。 |
对宏进行分类管理:
| 参数 | 说明 |
|---|---|
| 📝 备注 | 对模块进行说明,便于后续管理与维护。 |
| 🪟 前台 | 模块下所有配置只在设定的窗口中触发;置空则在所有窗口皆可触发。 |
| ➕ 新增宏 | 在模块最下方增加一条宏配置。 |
| 📋 粘贴宏 | 需先点击宏配置中的「复制」,再点击「粘贴」,可将复制的宏内容添加到新增宏配置中。 |
| 📁 新增模块 | 在当前模块下方新增一个模块。 |
| 🗑️ 删除模块 | 删除当前模块(不可恢复)。 |
| 🚫 禁用(模块) | 禁用当前模块下所有宏配置的手动触发(仍可通过宏操作调用触发)。 |
| 📋 复制 | 复制当前宏内容,可在模块上粘贴使用。 |
| 🚫 禁用(宏) | 禁用当前宏配置,不参与触发与执行。 |
| 🗑️ 删除 | 删除当前宏配置(不可恢复)。 |
| ⌨️ 菜单触发键 | 配置当前模块菜单轮盘的触发按键。 |
| 🪟 面板触发键 | 配置当前模块界面浮窗的控制开关。 |
用于定义单条宏的触发方式与执行行为:
| 参数 | 说明 |
|---|---|
| 📝 宏名称 | 对宏用途进行说明,便于管理与维护。 |
| ⌨️ 触发键编辑 | 打开触发键设置界面,进行可视化配置。 |
| 🖼️ 触发键编辑(菜单宏 / 界面宏) | 打开扇区或界面按钮上的图标设置。 |
| ⏰ 触发键编辑(定时) | 打开定时设置界面。 |
| 🎯 触发类型 | 设置宏的触发按键与方式: • 按下:按下即触发,未松开可重复触发 • 松开:松开时触发 • 松止:按下持续触发,松开后终止 • 开关:首次触发开始,再次触发终止 • 长按:持续按下到指定时间后触发 • 双击:双击触发键后触发 |
| 🔁 循环次数 | 设置宏的重复执行次数(可下拉选择「无限」)。 |
| 🎹 宏设置 · 按键类型 | • AHK Send:通用方式,适合办公软件与大多数游戏(管理员权限可让更多游戏有效) • keybd_event:系统接口方式,适合老软件或游戏(需管理员权限) • 罗技:调用罗技驱动模拟按键(需管理员权限,并使用 G HUB 2022.2.1154 及以前版本) • AHI:调用 Interception 驱动模拟按键(需管理员权限,并安装 Interception) ⚠️ keybd_event、罗技和 AHI 的按键可作为宏的触发按键,切勿自己触发自己导致死循环 |
| 🔊 宏设置 · 开始提示音 | • 无:不播放提示音 • 触发提示:触发时提示,循环触发会多次提示 • 循环首次提示:触发时提示,循环触发不再提示 |
| 🔊 宏设置 · 结束提示音 | • 无:不播放提示音 • 结束提示:宏结束时提示,循环多次结束就多次提示 • 循环结束提示:结束时提示,循环结束不再多次提示 |
| ✏️ 宏指令编辑 | 打开宏指令编辑器,编辑宏内容。 |
| 📋 复制 | 复制当前宏内容,可在模块上粘贴使用。 |
| 🚫 禁用 | 禁用当前宏配置,不参与触发与执行。 |
| 🗑️ 删除 | 删除当前宏配置(不可恢复)。 |
对配置进行分类管理:
| 参数 | 说明 |
|---|---|
| 📥 迁入配置文件夹 | 选择旧版本或同版本若梦兔(假定叫 A)的 Setting 文件夹,把 A 中所有配置覆盖同步到当前软件。⚠️ 当前软件的所有配置会自动备份到 SettingOld 目录下 |
| ✏️ 重命名 | 修改当前配置名称。 |
| 🔧 配置校准 | 迁入或重命名后若配置异常,可尝试使用该功能修复。 |
| ➕ 新增配置 | 新增一个配置。 |
| 📦 导入配置 | 选择一个 .rmt 文件导入配置(共享仓库可下载)。 |
| 🔀 合并导入 | 选择一个 .rmt 文件或本地已有的配置,合并到当前配置中。 |
| 📂 加载配置 | 切换到选中的配置。 |
| 🗑️ 删除配置 | 删除选中的配置。 |
| 📄 使用说明 | 共享仓库的配置要求必须填写;导入的 .rmt 文件配置可以查看说明。 |
| 📤 导出配置 | 将选中的配置导出为 .rmt 文件,方便备份与分享。 |
| 🌐 打开仓库 | 打开共享仓库,可以下载学习案例,或他人已经共享的游戏相关配置。 |
文件校验、信息获取等辅助功能:
| 设置项 | 说明 |
|---|---|
| 👁️ 变量监视器 | 可以实时查看全局变量的值,以便问题排查。 |
| ✅ 文件校验 | 为避免系统或人为误删除,可校验缺失资源并补齐。 |
| 🖱️ 鼠标信息 | 获取当前鼠标下详细信息:屏幕坐标、窗口坐标、窗口标题、进程名等等。 |
| 📌 窗口置顶 | 软件主窗口置顶。 |
| ⏺️ 指令录制 | 录制手柄(需要额外配置)、键鼠操作,自动生成宏配置。 |
| 🔤 图片文本提取 | 提取图片中的文字。 |
用于调节整体行为与模拟真实性的全局参数:
| 设置项 | 说明 |
|---|---|
| ⏱️ 点击时间浮动(%) | 按键点击时间的浮动范围。例如:设为 10,原 50ms → 最终约 45~55ms。 |
| ⏳ 每次间隔浮动(%) | 多次点击、多次搜索、多次提取间隔浮动范围。例如:设为 10,原 500ms → 实际约 450~550ms。 |
| ⌛ 间隔指令浮动(%) | 间隔指令的浮动范围。例如:设为 10,原 3000ms → 实际约 2700~3300ms。 |
| ↔️ 坐标 X 浮动(px) | 模拟点击时 X 坐标的浮动范围。例如:设为 30,原 X=900 → 实际约 870~930。 |
| ↕️ 坐标 Y 浮动(px) | 模拟点击时 Y 坐标的浮动范围。例如:设为 50,原 Y=400 → 实际约 350~450。 |
| 🧵 多线程数(-1~10) | -1:动态多线程;0:单线程;n:多线程固定为 n。 |
| ⚡ 开机自启 | 开机时自动运行软件。 |
| 🛡️ 管理员启动 | 软件运行后提权为管理员。 |
| ⌨️ 自动松开修饰键 | 修饰键 + 普通键触发宏时,自动松开修饰键。 |
| 🔁 连续触发 | 按下、开关、长按可以按住连续触发。(滚轮等无松开事件的按键不受此选项影响) |
| 💬 无变量提醒 | 当使用不存在的变量时弹窗提示。 |
| 🪟 模态子窗口 | 只有关闭子窗口才能操作主窗口。 |
| 🌐 语言 / Lang | 设置软件显示语言。 |
| 🔤 软件字体 | 设置界面字体。 |
| 🧩 首选编辑器 | 设置宏内容为空时打开的编辑器类型。 |
| 📸 截图方式 | 设置截图实现方式;当截图报错时请切换其他截图方式。 |
| 🎮 手柄类型 | 设置手柄宏的按键类型。 |
| ⌨️ 按下时按下 | 宏按键按下后再次按下时的特殊调整选项。 |
| 🎨 主题 | 配置软件所有的颜色配比。 |
| ⌨️ 快捷键 | 修改软件所有的快捷按键。 |
| ⏺️ 指令录制 | 设置指令录制时的一些录制细节。 |
| 🎡 轮盘 | 设置菜单轮盘大小、触发方式、显示位置。 |
| 🪟 界面浮窗 | 设置界面宏的默认位置、大小等。 |
| 📺 指令显示 | 设置宏执行时的内容显示位置等。 |
这里介绍最基础的编辑器使用方式。
功能说明:树形编辑器是RMT(若梦兔)的编辑指令的界面,通过这个界面可以创建、编辑宏。
Shift,连选多个指令。Ctrl,取消选/选中指令。Ctrl C,复制指令。Ctrl V,粘贴指令。Delete,删除指令。注意:如果想使用 共享复制 功能,或是编辑右键的菜单,可以到【设置】的【右键菜单设置】进行配置。
功能说明:图形节点编辑器是RMT(若梦兔)的编辑指令的界面,通过这个界面可以创建、编辑宏。
Ctrl,取消选/选中节点。Ctrl C,复制节点。Ctrl V,粘贴节点。Delete,删除节点。功能说明:当你按下触发键时,RMT(若梦兔) 软件会辅助你快速连续点击按键。
操作步骤:
新增宏按钮。编辑按钮,新窗口选择触发键(例如 F6)后点击确定。编辑按钮 → 指令选项中点击 按键 → 点击按键A → 设置循环次数10 → 点击按键编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
图示:按键指令配置界面
4. 点击主界面左下角应用并保存按钮即可。
配置效果:当按下触发键F6时,软件辅助按下10次A键,每次按键时间100ms,每次间隔200ms,指令总时长2800ms
功能说明:只有当一组特定组合键同时按下时,才会触发宏。
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:在触发键编辑界面勾选你想要的组合键,例如 Ctrl + Alt + A。
图示:触发键配置界面
设置宏指令:在宏指令编辑界面 → 指令选项中点击 输出 → 输出内容中输入RMT → 点击输出编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
图示:输出指令配置界面
点击主界面左下角应用并保存按钮即可。
配置效果:当按下触发键Ctrl + Alt + A时,软件辅助输出RMT文本
功能说明:按下一个键,让它自动执行一组组合键动作,比如按下 F9 自动发送 Ctrl + V。
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F9。
设置宏指令:在宏指令编辑界面 → 指令选项中点击 按键 → 点击 Ctrl → 点击 V → 确定 → 点击宏指令编辑界面确定按钮。
图示:组合键配置界面
点击主界面左下角应用并保存按钮即可。
配置效果:当按下触发键F9时,软件辅助按下Ctrl + V
功能说明:自动录制你在键盘和鼠标上的操作,自动生成宏指令。
操作步骤:
打开宏编辑器:主界面 → 宏编辑按钮
开启录制:宏编辑界面 →勾选 指令录制
在任意地方执行你想要录制的动作(按键、点击等)。
结束录制:编辑界面 →取消勾选 指令录制(录制结束指令自动填充到指令框,同时复制到剪切板中)
图示:指令录制界面
点击宏指令编辑界面确定按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F9。
点击主界面左下角应用并保存按钮即可。
配置效果:当按下触发键F9时,自动执行录制的内容
📌 录制器适合快速搭建流程操作,之后可手动微调。
功能说明:
wasd、word、aa、aaaa等等字串操作步骤:
选择字串宏页签: 主界面下点击切换到字串宏页签。
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口点击两次按钮A。
图示:字串宏触发键配置界面
设置宏指令:点击 宏指令按钮 → 指令选项中点击 运行 → 目标里输入notepad.exe → 点击编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
图示:运行指令配置界面
点击主界面左下角应用并保存按钮即可。
配置效果:当双击按键A,软件辅助打开notepad.exe
功能说明:当到达指定时间时,触发宏。
操作步骤:
打开主界面的「定时宏」页签,在模块顶部点击「新增宏」。
点击「定时」按钮,选择「单次」,把开始时间设为两分钟后。需要重复执行时可选「周期触发」并设置间隔,也可选择「软件启动时」。
按需设置结束时间和任务时长。固定时长从每次触发时开始计算,到期只停止本次运行。保存前可在编辑器中查看下次触发时间。
图示:定时宏时间配置界面
点击「宏指令」,添加一条「输出」,把输出类型选为「软件弹窗」,填写要显示的文字并保存宏指令。
图示:输出指令配置界面
点击主界面左下角「应用并保存」。
配置效果:当到达设置时间时,软件弹窗显示指定文本内容
功能说明:寻找屏幕上的某张图片,找到后执行点击动作。(按键实现b站点赞)
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F7。
设置宏指令:在宏指令编辑界面 → 指令选项中点击 搜索。
设置图片:点击截图按钮,截取你要识别的图片,只要截图能识别的特征部分
图示:截图内容(要自己截图,因为电脑的色差,缩放不同)
设置搜索区域(可选):按F1后鼠标左键点击拖拽一个矩形区域
设置点击:勾选找到后鼠标移动至目标点击
图示:搜索指令配置界面
确定设置:点击搜索编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
点击主界面左下角应用并保存按钮即可。
配置效果:当按下触发键F7时,软件辅助找到点赞图标,移动过去自动点击
📌 注意:图像不能经过缩放,图像大小48*48识别效果最佳。减小搜索范围可以降低性能消耗,增加搜索速度。
功能说明:在指定屏幕区域查找某个颜色(可用于检测 UI 状态)。
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F6。
设置宏指令:在宏指令编辑界面 → 指令选项中点击 搜索。
设置搜索类型:搜索类型选择颜色
取色:鼠标移动到取色位置,按F3即可完成取色,颜色文本框会自动填写颜色值
设置找到后指令:配置任意指令即可
设置未找到后指令:配置任意指令即可
图示:搜索指令配置界面
确定设置:点击输出编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
主界面左侧点击应用并保存按钮即可。
配置效果:当按下触发键F6时,软件找到颜色执行找到后指令,否则执行未找到后指令
📌 注意:减小搜索范围可以降低性能消耗,增加搜索速度,不限定搜索范围,屏幕中只要有这个颜色就会触发,这可能是你不需要的。
功能说明:识别屏幕上的文字内容,并据此执行条件操作。
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F3。
设置宏指令:在宏指令编辑界面 → 指令选项中点击 搜索。
设置搜索类型:搜索类型选择文本
设置文本:在文本编辑框输入搜索的文本(例如:测试文本)
设置搜索区域(可选):按F1后鼠标左键点击拖拽一个矩形区域
设置找到后指令:配置任意指令即可
设置未找到后指令:配置任意指令即可
图示:搜索指令配置界面
确定设置:点击搜索编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
主界面左侧点击应用并保存按钮即可。
配置效果:当按下触发键F3时,软件辅助识别文本后执行找到后指令,否则执行未找到后指令
功能说明:把鼠标移到指定坐标。绝对移动填屏幕坐标,相对移动填相对于当前指针的偏移量。需要坐标变量、移动后点击、窗口坐标基准或拟真轨迹时用「移动Pro」,游戏中转动视角用「增量移动」。详情见指令手册。
操作步骤:
添加新宏: 点击按键宏模块顶部新增宏按钮。
设置触发按键:点击触发键按钮,新窗口选择触发键,例如 F4。
设置宏指令:点击 宏指令按钮 → 指令选项中点击 移动
设置移动坐标:修改坐标位置x、坐标位置y
设置移动速度:修改移动速度(100则瞬移)
图示:移动指令配置界面
点击移动编辑界面确定按钮 → 点击宏指令编辑界面确定按钮。
主界面左侧点击应用并保存按钮即可。
配置效果:当按下触发键F4时,软件辅助鼠标移动至桌面坐标(100,100)
⌨️ 键鼠/手柄
🖼️ 配置界面
| 动作 | 执行方式 |
|---|---|
| 按下 | 按下指定按键后立刻继续下一条(瞬发,本条不消耗时间)。 |
| 松开 | 松开指定按键后立刻继续下一条(瞬发)。 |
| 点击 | 先按下,等待「点击时间」后再松开;可以连续重复多次。 |
100。1。200 毫秒,已有指令省略这一段时执行为 0。点击多次时填写非负整数。💡 配对松开
用「按下」之后,建议后面再配一条「松开」。只按不松就再按一次,后续按下可能无效(卡键)。
按键_按键名_按下按键_按键名_松开按键_按键名_点击_点击时间_点击次数_每次间隔⎖ 连接,例如 按键_Ctrl⎖a_点击_100按键_a_按下、按键_a_点击_100、按键_a_点击_100_10_200。旧配置中的 按键序号 仍可执行,重新编辑保存后写为上述内联格式。⌨️ 键鼠/手柄
🖼️ 配置界面
| 输入类型 | 取值与动作 |
|---|---|
| 按下 / 松开 / 点击 | 与「按键」指令相同,仅作用于手柄按钮和方向键。 |
| 轴值 | 摇杆 LX/LY、RX/RY 各轴范围 -100 ~ 100(0 为中心)。真实手柄两轴独立饱和,合成向量按圆形限位(半径约 125),因此可以出现 LX:100_LY:67,不会出现 LX:100_LY:100。扳机 LT/RT 范围 0 ~ 100。 |
LT:50 这样的中间值,请在设置中关闭「LT、RT按键化」或「L2、R2按键化」。按钮模式下重新保存会把正轴值转成扳机按钮,按下时输出满量程。手柄_A_点击_点击时间_点击次数_每次间隔手柄_A+B_按下手柄_上_按下手柄_LX:80、手柄_LX:80_LY:20手柄_LT:50手柄_A_点击_100、手柄_LB_按下、手柄_RT:100⌨️ 键鼠/手柄
🖼️ 配置界面
按固定坐标移动鼠标指针。可选择绝对移动或相对移动;需要变量坐标、移动后点击、窗口坐标或拟真轨迹时,使用「移动Pro」。游戏视角位移使用「增量移动」。
(100,100),填写 10,0,目标为 (110,100)。| 参数 | 取值 |
|---|---|
| 坐标 X / Y | 填写有符号整数。绝对移动支持主屏左侧或上方显示器的负坐标,相对移动时负数向左或向上。 |
| 移动速度 | 执行时限制在 0~100,越大越快,100 为最快,默认 90。 |
| 移动方式 | 绝对移动或相对移动。 |
移动序号 或 移动序号_备注。移动1、移动1_800 600。移动_坐标X_坐标Y_移动速度_移动方式,移动方式 0 表示绝对、1 表示相对。⌨️ 键鼠/手柄
🖼️ 配置界面
按坐标移动鼠标,并可在到达后单击、双击或按住左键拖拽。支持变量坐标、窗口坐标基准和拟真轨迹。
| 坐标基准 | 定位方式 |
|---|---|
| 屏幕基准 | 绝对移动时按屏幕坐标定位;相对移动时以当前指针位置为起点。 |
| 窗口基准 | 按所选窗口左上角加偏移计算目标点,使用绝对移动。 |
移动Pro序号 或 移动Pro序号_备注移动Pro1、移动Pro1_点按钮鼠标移动Pro序号 仍可识别执行,建议改用新名称。⌨️ 键鼠/手柄
🖼️ 配置界面
发送相对鼠标位移,适合第一/第三人称游戏转动视角,也可重复发送同一偏移。该功能从旧版「移动Pro」的游戏视角模式中独立出来。
| 参数 | 位移规则 |
|---|---|
| X / Y 偏移 | 整条指令的水平与垂直总位移,可填写数值或变量。负值向左或向上。 |
| 偏移次数 | 总位移拆成的步数,默认为 1。例如偏移 10、次数 3,三个步长合计仍为 10。 |
| 每次间隔 | 相邻两步之间等待的毫秒数,最后一步后不再等待。 |
| 备注 | 便于辨认这条指令。 |
mouse_event,不随宏的罗技或 AHI 按键类型切换。增量移动序号 或 增量移动序号_备注。增量移动1、增量移动1_向右转⌨️ 键鼠/手柄
🖼️ 配置界面
| 动作 | 发送方式 |
|---|---|
| 按下 | 向目标窗口发送按下,然后立刻继续下一条(瞬发)。 |
| 松开 | 向目标窗口发送松开,然后立刻继续下一条(瞬发)。 |
| 点击 | 先按下,等待「点击时间」后再松开;可以连续重复多次。 |
100 ms,受设置「点击时间浮动(%)」影响。1。100 ms,受设置「每次间隔浮动(%)」影响。仅选点击且次数大于 1 时生效。💡 部分窗口无效
很多游戏、部分程序不接收后台按键。有的窗口还必须管理员启动软件才有效。浏览器看起来按下了但页面没反应时,通常是该窗口不支持后台。
a」不会像长按键盘那样自动反复输入 a。后台按键序号,带备注时为 后台按键序号_备注后台按键1、后台按键1_回车⌨️ 键鼠/手柄
🖼️ 配置界面
| 参数 | 适用条件 |
|---|---|
| 窗口信息 | 按 标题⎖类名⎖进程名 匹配,可点「编辑」用鼠标选取。同时命中多个窗口时,会对每个窗口各发一次。 |
| 鼠标按键 | 左键、中键、右键、滚轮。 |
| 操作类型 | 点击、双击、按下、松开。选滚轮时没有这项。 |
| 窗口坐标 X / Y | 从目标窗口客户区左上角起算,可填变量。点击和滚轮都使用这组输入坐标,并应用坐标浮动。 |
| 垂直滚动 / 水平滚动 | 仅滚轮时出现。垂直滚动量不是 0 时,只滚垂直,水平那一项不会再生效。 |
| 点击时间 | 仅点击、双击时使用,默认 50 毫秒。双击时两次按下各保持这个时长。 |
| 备注 | 写在指令串序列号后面,只用于辨认。 |
💡 不是所有窗口都有效
很多游戏、部分程序不接收后台鼠标消息。浏览器看起来点了但页面没反应时,通常是该窗口不支持后台,不是坐标填错。
标题⎖类名⎖进程名)和窗口坐标。后台鼠标序号,带备注时为 后台鼠标序号_备注后台鼠标1、后台鼠标1_点确定⌨️ 键鼠/手柄
🖼️ 配置界面
1,否则写入 0。本指令自己不会按下任何键。| 检测模式 | 写入 1 的条件 |
|---|---|
| 同时按下 | 勾选的键必须全部处于按下,结果才是 1。 |
| 有一个按下 | 勾选的键里只要有一个处于按下,结果就是 1。 |
1 或 0。💡 即时检测
每次执行只读取一次。要等某个键按下、松开,或接收滚轮这种瞬时输入,请使用「等待」的「按键」类型。
按键检测序号,带备注时为 按键检测序号_备注按键检测1、按键检测1_是否按住Shift⌨️ 键鼠/手柄
🖼️ 配置界面
1,否则写入 0。本指令自己不会输出任何手柄动作。| 检测对象 | 匹配规则 |
|---|---|
| 按钮 | 同时按下 / 有一个按下。按钮与摇杆不能同时检测。 |
| 摇杆 | 大于设定值 / 大于等于 / 等于设定值 / 小于等于 / 小于设定值。各轴都按同一比较方式相对设定值判断,全部满足才为 1。 |
1 或 0。💡 扳机阈值
要比较扳机中间值,先关闭设置里的「LT、RT按键化」或「L2、R2按键化」。
0。手柄检测序号,带备注时为 手柄检测序号_备注手柄检测1、手柄检测1_是否按住A🔍 搜索/识图
🖼️ 配置界面
| 搜索目标 | 输入方式 |
|---|---|
| 屏幕图片 | 在范围内匹配目标图片。图片可以选本地文件,或用 F2 当场截图。 |
| 屏幕颜色 | 在范围内查找指定颜色。颜色可以手填 HEX,或用 F3 取当前鼠标位置的颜色。 |
| 屏幕文本 | 在范围内匹配文字,支持正则表达式。 |
💡 分支前加间隔
找到后会先做鼠标动作,再执行「找到后」分支。目标程序反应慢时,分支开头需要加间隔,避免点完立刻做下一步。
搜索序号,带备注时为 搜索序号_备注搜索1、搜索1_找血条🔍 搜索/识图
🖼️ 配置界面
| 搜索范围 | 坐标基准 |
|---|---|
| 屏幕图片 / 屏幕颜色 / 屏幕文本 | 在屏幕坐标范围内搜索。 |
| 窗口图片 / 窗口颜色 / 窗口文本 | 使用客户区坐标,需要为目标窗口设置范围。 |
标题⎖类名⎖进程名 三项来匹配(某一项可以留空)。同时匹配到多个窗口时,鼠标动作会对每个匹配窗口各做一次。ImageSearch,不显示该选项。💡 无限次数
会一直搜到找到为止,之后只走「找到」分支,「未找到」分支不会触发。暂停、终止可以打断。
搜索Pro序号,带备注时为 搜索Pro序号_备注搜索Pro1、搜索Pro1_找血条🔍 搜索/识图
🖼️ 配置界面
一次查找同一图片、文字或颜色的全部匹配位置,支持屏幕和窗口两种范围。
| 配置或结果 | 处理规则 |
|---|---|
| 坐标数据 | 选择接收坐标的数组,保存为 [[x1,y1],[x2,y2],…],可用数组指令取值并循环遍历。默认数组名为「坐标集」,未找到时写入空数组。 |
| 搜索顺序 | 可选上下左右、上下右左、下上左右、下上右左。前两个字指定行的方向,后两个字指定同行内的方向。坐标数组按所选顺序返回。 |
| 坐标含义 | 图片返回匹配区域中心,文字返回命中文字位置;窗口模式返回客户区坐标,屏幕模式返回屏幕坐标。 |
| 颜色搜索 | 返回每个符合相似度要求的像素。一整块同色区域可能产生大量坐标,建议缩小搜索范围。 |
| 窗口绑定 | 匹配多个窗口时,坐标会汇总到同一数组。数组元素只含 X、Y,需要按窗口分别处理时,请逐个绑定窗口搜索。 |
| 找到后的指令 | 完整坐标数组保存后执行一次,可在这里添加循环。 |
| 搜索次数 | 每轮查找范围内所有匹配。首次有结果即结束重试;有限次数用尽后写入空数组,并执行已配置的未找到分支。 |
| 图片匹配 | 点击图片预览旁的编辑按钮可裁剪、擦除或抠图。匹配使用 OpenCV,支持相似度、颜色匹配及全局图片自适应,同一图片附近的重复响应会合并。 |
搜索、搜索Pro、搜索Combo默认按左右优先选取匹配位置;搜索Combo中不同搜索条件仍按目标列表顺序判断。
搜索All序号 或 搜索All序号_备注,例如 搜索All1_采集全部图标。🔍 搜索/识图
🖼️ 配置界面
在同一条指令中配置多个搜索目标,按「满足个数」判断本轮搜索是否成功。各目标可分别使用图片、颜色或文本搜索,也可分别选择屏幕或窗口搜索。
| 配置项 | 组合规则 |
|---|---|
| 目标列表 | 添加、删除并选择当前编辑的目标。每个目标独立设置搜索类型、窗口信息、范围、目标内容、相似度和识别模型。 |
| 满足个数 | 选择「所有」表示全部目标都要找到;填写正整数表示找到至少这么多个目标即可。统计的是满足条件的目标条目数。 |
| 搜索次数 / 每次间隔 | 设置最多尝试的轮数与轮次之间的等待;选择无限时持续尝试,直到满足或宏被终止。 |
| 鼠标动作 | 整体条件满足后才执行。屏幕目标可移动指针,窗口目标可使用后台点击。选择「移动至目标」时,窗口目标只参与搜索。 |
| 结果保存 / 目标点保存 | 成败可写入指定变量。屏幕目标写入屏幕坐标,窗口目标写入客户区坐标。整体失败时保留已有的坐标值。 |
| 找到后 / 未找到后 | 整体成功或有限次数用尽仍未成功时执行对应分支,两段都可留空。 |
1 时整轮成功,设为「所有」时整轮失败。搜索Combo序号 或 搜索Combo序号_备注。搜索Combo1、搜索Combo1_检查多个按钮💬 输入/输出
🖼️ 配置界面
在宏执行到此处时等待用户输入,把文本、选择结果或文件路径保存到变量。
| 交互方式 | 写入变量的内容 |
|---|---|
| 弹窗 | 弹出输入框,把用户输入的内容写入变量。适合问数量、名字这类需要打字的场合。 |
| 状态 | 弹出真 / 假两个按钮。选真写入 1,选假写入 0。适合让人做一次是否判断。 |
| 选择 | 从选项列表选一项,保存所选文本。 |
| 选择文件 | 打开系统文件选择窗口,保存选中的文件完整路径。取消时保留结果变量原值。 |
| 多选 | 从选项列表选多项,将所选文本以逗号连接后保存。 |
输入序号,带备注时为 输入序号_备注输入1、输入1_问数量💬 输入/输出
🖼️ 配置界面
| 输出方式 | 去向 |
|---|---|
| 发送内容 | 用 AHK SendText 逐字发送到当前焦点处,像在键盘上打字。 |
| 粘贴内容 | 先把内容写入剪贴板,再按 Ctrl+V 粘贴。游戏里发送无效时可以改用这项。 |
| 临时提示 | 在鼠标旁显示约 5 秒,并随鼠标移动。 |
| 指令窗口 | 写到软件自己的指令显示窗口里,方便调试。 |
| 软件弹窗 | 显示提示窗口,宏继续执行。需要用户确认后再继续时,使用「等待」的「确定」类型。 |
| 系统语音 | 用系统语音把内容读出来。 |
| 复制到剪切板 | 只写入剪贴板,不会按 Ctrl+V,也不会弹窗。 |
{变量名} 会替换成该变量的当前值,{ε数组名} 会展开成数组内容。💡 发送与粘贴
两种方式都作用于当前焦点。粘贴会覆盖剪贴板,内容为空或写入失败时跳过粘贴。
输出序号,带备注时为 输出序号_备注输出1、输出1_打招呼🧩 变量/数据
🖼️ 配置界面
| 操作类型 | 写入规则 |
|---|---|
| 数值 | 把一个数字,或另一个变量的当前值,赋给目标变量。 |
| 随机数值 | 在最小值和最大值之间随机取一个数,赋给目标变量。 |
| 字符 | 把一段字符串赋给变量。 |
| 系统 | 读取系统内置变量的当前值,写到目标变量里。系统变量本身是只读的,赋回去也改不了它。 |
| 时间 | 读取当前时间的数值字段,例如年份、秒或毫秒时间戳。 |
| 删除 | 删掉指定变量。目标原本不存在时无需删除。 |
_(下划线和指令参数分隔符冲突)。💡 系统变量只读
不能把系统变量当作赋值目标,这样写不会生效。
EEFF442026-04-1219:4619:46:5858变量序号,带备注时为 变量序号_备注变量1、变量1_初始化HP🧩 变量/数据
🖼️ 配置界面
| 来源 | 提取方式 |
|---|---|
| 屏幕 | 对屏幕上的一块矩形做 OCR,再按模板提取。 |
| 剪切板 | 不对屏幕识字,直接对剪贴板里已有的文本提取。 |
| 窗口 | 对指定窗口客户区做 OCR 后再提取。窗口可以在后台,不必露在最前面。 |
&x 提取数字,&c 提取文本。模板中的 {变量名} 会先替换再匹配。标题⎖类名⎖进程名 匹配。同时匹配到多个窗口时,会对每个窗口各处理一次。Plugins\TesseractOcr\tessdata 下的 chi_sim.traineddata 和 eng.traineddata。两种模型不兼容,不能通过修改 RapidOCR 字符表为 Tesseract 增字。💡 可能失败
OCR 看错字,或识别结果对不上模板时,这次提取会失败,不会写入提取值。
0&x:取出第一个数字&c:取出第一段文本HP:&x:从 HP:3,000 取出 3000坐标(&x,&x):从 坐标(10.5,8.6) 取出两个数{Title}:&x:若变量 Title 当前是 血量,则去匹配 血量:20.5 并取值变量提取序号,带备注时为 变量提取序号_备注变量提取1、变量提取1_读血量🧩 变量/数据
🖼️ 配置界面
| 参数 | 填写方式 |
|---|---|
| 运算行 | 点击「+」添加一条,按从上到下执行。后面的行可以读取前面已写入的结果。 |
| 运算表达式 | 变量用花括号引用,例如 {HP}-10、({A}+{B})*2。支持 + - * / % ^、括号及 abs、min、max、round、ceil、floor。 |
| 保存结果变量 | 用来存放这次算出来的值。想改原来的变量,就把结果变量填成同一个名字。 |
| 备注 | 写在指令串序列号后面,只用于辨认。 |
💡 结果变量
表达式使用{HP},结果保存为HP2时,原来的HP保留。表达式无效或除以零时,跳过该行并保留已有结果。
_。运算序号,带备注时为 运算序号_备注运算1、运算1_HP减伤🧩 变量/数据
🖼️ 配置界面
| 操作 | 作用 |
|---|---|
| 创建 | 按填写的初始数据新建一个数组。 |
| 克隆 | 复制一份已有数组,得到另一个同内容的数组。 |
| 删除 | 删掉整个数组。 |
| 包含 | 判断数组里是否包含指定值或另一段数组,把是 / 否写入变量。 |
| 取值 / 赋值 | 按下标读出某一项,或改写某一项。 |
| 插入 / 追加 | 在中间指定位置插入,或在末尾追加。 |
| 移除 / 移除最后 | 按序号删掉一项,或删掉最后一个。 |
| 反转 | 把首尾对调,原来的第 1 个变成最后 1 个。 |
| 长度 | 把元素个数写入变量。 |
0 表示操作整个数组(一维数组时保持 0);填 N 表示操作第 N 项。数组元素的下标从 1 开始,和子索引的 0 不是同一套含义。💡 插入位置
例如数组已有 3 项,索引1在开头插入,索引4在末尾插入。元素索引0或越界时跳过操作。
0 表示「整个数组」,不是「第 0 个元素」。{ε数组名} 可以把数组内容展开成文本。数组序号,带备注时为 数组序号_备注数组1、数组1_建技能表🧩 变量/数据
🖼️ 配置界面
| 处理类型 | 行为 |
|---|---|
| 文本分割 | 按分隔文本切开、按固定长度切开,或按正则切开。 |
| 文本提取 | 从文本里抽出数字、字母、中文,或按正则抽出匹配部分。 |
| 文本替换 | 查找并替换。可以按普通文本匹配,也可以按正则匹配。 |
| 去除空格 | 去掉前面、后面、前后两侧,或去掉全部空白字符。 |
| 大小写转换 | 全部大写、全部小写,或将各词转为首字母大写。 |
| 文本统计 | 统计字符数、单词数或行数。单词数按连续英文字母段计数。 |
| 文本拼接 | 在编辑框中按顺序写入各段内容,可插入变量或数组引用。 |
💡 替换与提取
正则替换可在替换文本中用$1引用捕获组。正则提取收集完整匹配,找不到时写入空数组。
文本处理序号,带备注时为 文本处理序号_备注文本处理1、文本处理1_按逗号拆📁 文件
🖼️ 配置界面
读取或写入文本文件,可将读取结果保存到变量或数组。Excel 工作簿使用左侧单独的「Excel」指令。
| 读写模式 | 文件行为 |
|---|---|
| 读取全部内容 | 将整个文件读入变量。 |
| 逐行读取 | 从指定行开始,将后续各行读入数组。 |
| 读取指定行 | 将某一行内容读入变量。 |
| 覆盖写入 | 清空原内容后写入。 |
| 追加写入 | 接在文件末尾,不自动换行。 |
| 追加写入-行 | 先换行,再追加内容。 |
| 写入指定行 | 改写某一行,行数不足时补空行。 |
| 行号自增 | 从指定行向下寻找空行写入,必要时在末尾新增一行。 |
{变量名} 拼出路径。读取需要已有文件,写入可创建文件。{变量名} 或 {ε数组名},执行时替换。文件读写序号 或 文件读写序号_备注。文件读写1、文件读写1_读配置📁 文件
🖼️ 配置界面
读取或写入 Excel 工作簿,支持单元格、行、列和指定区域。与「文件读写」共用底层读写能力,使用单独的 Excel 参数界面。
| 操作模式 | 工作表行为 |
|---|---|
| 读取单元格 | 读取指定格子,保存到变量。 |
| 读取指定行 / 指定列 | 从起始格子沿行或列读取,保存到数组;遇到连续空格达到停止条件时结束。 |
| 读取指定区域-行 / 指定区域-列 | 按起止行列读取矩形区域,并按所选行列方向组织结果。 |
| 写入单元格 | 将内容写入指定格子。 |
| 行号自增 / 列号自增 | 从指定格子向下或向右寻找空格写入。 |
| 写入指定区域-行 / 指定区域-列 | 将数组按行或列方向写入区域;一维数组可写成一行或一列。 |
.xlsx 或 .xls 工作簿,支持用 {变量名} 拼出路径。Excel序号 或 Excel序号_备注。Excel1、Excel1_读取订单📁 文件
🖼️ 配置界面
向 HTTP/HTTPS 服务发送请求,适合 webhook、本地服务和配置读取。支持 GET、POST、PUT、DELETE;GET 不发送 Body。
| 请求配置 | 行为 |
|---|---|
| URL / Header / Body | URL、请求头的值和 Body 支持 {变量名},执行时替换。Header 每行填写 名称: 值。 |
| Body 类型 | JSON、表单、原始文本。JSON 与原始文本按替换后的内容发送;表单每行填写 名称=值,名称和值分别自动进行 UTF-8 URL 编码,可重复同名字段。 |
| Content-Type | 按 Body 类型自动设置;Header 中显式填写时以填写值为准。 |
| 超时 | 每次尝试的总时限,单位毫秒,默认 10000,范围 1~3600000。 |
| 失败重试次数 | 默认 0,可填 0~10 或引用 {变量名}。网络失败、超时及 HTTP 408、429、5xx 会在 500 毫秒后重试,最多请求 1 + 重试次数 次。POST 重试可能重复提交。 |
| 结果变量 | 分别保存状态码、响应体、错误信息,默认 HTTP状态码、HTTP响应体、HTTP错误信息。无 HTTP 响应时状态码为 0;HTTP 错误仍保留状态码和响应体;每次执行会覆盖结果,防止使用旧响应。 |
| 重定向 | 返回原始 3xx,不自动跟随,避免认证头转发到其他主机。HTTPS 使用系统证书校验。 |
例如设置 POST,URL 为自己的 webhook,Header 填写:
Authorization: Bearer {服务密钥}
JSON Body:
{"text":"{识别结果}"}
后续使用「如果」检查 HTTP状态码 是否为 200,再使用「变量提取」处理 HTTP响应体。JSON 内变量替换不自动转义;变量含引号或换行时,需先构造合法 JSON,也可让 Body 整体引用 {请求JSON},或改用自动编码的表单。
密钥建议在运行时通过输入等方式放入变量。变量引用不会把实际值写回本指令,但如果密钥仍写在其它指令或变量初始值中,导出配置时仍可能包含它。宏中止时会取消正在等待的请求;服务端已收到的操作无法撤回。
网络请求序号 或 网络请求序号_备注。网络请求1_读取本地服务。🔀 流程
🖼️ 配置界面
| 模式 | 取值规则 |
|---|---|
| 固定 | 每次都等待同一个时长。 |
| 随机 | 在时间 A 和时间 B 之间抽一个时长。每次执行重新抽取,再应用「间隔指令浮动」。 |
3000 表示 3 秒,0 等于不等待。💡 间隔指令浮动
设置页「间隔指令浮动(%)」只作用于本指令。未写正负号时上下都浮动,例如间隔3000、浮动10,实际约2700~3300ms。按键连点、搜索多次之间的等待走的是「每次间隔浮动」,与本项无关。
间隔_时间A_备注间隔_时间A~时间B_备注间隔_500、间隔_500_等待、间隔_500~1000、间隔_500~1000_随机等待间隔序号 仍可运行,编辑保存后使用上述格式。🔀 流程
🖼️ 配置界面
反复检测指定条件,条件满足后继续执行下一条指令。适合等待窗口、文件或界面状态变化,避免只用固定间隔猜测完成时间。
| 等待类型 | 完成条件 |
|---|---|
| 变量 | 支持比较变量值、检查变量是否存在,以及用「且」或「或」组合多条条件。 |
| 按键 | 等待键盘、鼠标或手柄按键按下或松开,可配置多键检测。 |
| 屏幕与鼠标 | 等待屏幕变化、鼠标移动或鼠标停止移动。 |
| 剪切板 | 等待剪切板文本变化。 |
| 进程 | 按进程名或 PID 等待进程存在或关闭,两种方式均可引用变量。 |
| 窗口 | 等待窗口存在、激活、屏幕变化、大小变化、移动、关闭或最小化。 |
| 文件 | 等待文件存在、删除或变化。 |
| 时间 | 支持固定或随机毫秒数、时长、时刻和时间戳。随机毫秒数可填写最短和最长时间,也可引用变量。时间戳统一使用毫秒,兼容旧秒值。等待时间戳默认预填一分钟后,区间时间戳默认预填当天 06:00 至 18:00。 |
| 确定 | 显示提示,等待用户继续、终止或暂停宏。 |
💡 超时与状态变量
可选不限时或填写毫秒数。指定状态变量后,默认完成写入0、超时写入1;有限等待可自定义这两个值。
22:00:00 到 06:00:00。等待序号 或 等待序号_备注。等待1、等待1_等待下载完成在「等待」编辑器中选择类型「确定」。
弹出提示,等待用户决定继续、终止或暂停宏。适合在关键步骤前人工检查,也可配置超时后的动作。
等待序号,例如 等待1_确认提交。等待确定序号 仍可运行,重新编辑并保存后转为等待指令。🔀 流程
🖼️ 配置界面
| 条件类型 | 本轮是否执行 |
|---|---|
| 无 | 不设条件,只按「循环次数」执行。次数到了就结束。 |
| 继续条件 | 每一轮先判断。条件成立才执行循环体;不成立则离开循环。 |
| 退出条件 | 每一轮先判断。条件成立则立刻离开循环,不再执行本轮循环体。 |
💡 循环次数变量
循环体可读取系统变量「循环次数」,第一轮为1。每轮开始时先更新该变量,再判断条件。
流程跳转_循环-跳过本轮 会进入下一轮,执行 流程跳转_循环-跳出 会结束最近一层循环。需要条件判断时,把跳转放入「如果/如果Pro」的分支中。循环序号,带备注时为 循环序号_备注循环1、循环1_点十次🔀 流程
🖼️ 配置界面
在执行位置直接改变当前循环或分支的执行流程。编辑界面只有一个下拉框,选择跳转动作即可,无需配置编号。
| 动作 | 影响范围 |
|---|---|
| 循环-跳过本轮 | 跳过本轮剩余指令,进入最近一层循环的下一轮。 |
| 循环-跳出 | 结束最近一层循环,继续执行该循环之后的指令。 |
| 分支-跳出 | 结束当前这一层分支指令,返回调用它的外层流程;顶层使用时结束本轮剩余指令。 |
流程跳转_循环-跳过本轮流程跳转_循环-跳出流程跳转_分支-跳出🔀 流程
🖼️ 配置界面
| 比较方式 | 判断内容 |
|---|---|
| 大于 / 大于等于 / 等于 / 不等于 / 小于等于 / 小于 | 比较左右两边的数值。 |
| 字符包含 | 左边这段文字里,是否包含右边这段文字。 |
| 变量存在 | 左边这个变量名当前是否已经存在。 |
| 正则匹配 | 检查左值是否匹配右侧的正则表达式,例如 ^OK 匹配以 OK 开头的文本。 |
通过 和 拒绝。💡 变量取值
一般比较找不到所需变量时,会停止本条判断,既不保存结果也不执行分支。用「变量存在」可把缺少变量当作一个可分支的结果。
如果序号,带备注时为 如果序号_备注如果1、如果1_血量不足🔀 流程
🖼️ 配置界面
| 分支 | 触发条件 |
|---|---|
| 分支条件 | 每一条分支内部可以有多路判断,比较方式和「如果」相同;同一条分支内部再用且 / 或把多路拼起来。 |
| 以上都不是 | 上面一条都没匹配上时的兜底。也可以留空,表示都不中就什么都不做。 |
💡 只走一条
命中第一条后,后面的分支即使也成立,也不会执行。要把更特殊的情况放上面,更宽的条件放下面。
如果Pro序号,带备注时为 如果Pro序号_备注如果Pro1、如果Pro1_状态机🔀 流程
🖼️ 配置界面
在指定位置显示倒计时浮层。新建倒计时时,浮层显示后宏可立即执行下一条指令。
时间序号 仍可运行。重新编辑其中的倒计时、时间等待或区间判断时,会打开对应的新编辑器。💡 等待到目标时间
需要等到目标时间再继续时,添加「等待」指令并选择「时间」。
倒计时序号,例如 倒计时1_显示剩余时间。⚙️ 调控
🖼️ 配置界面
{变量名} 时,请先定义该变量再保存;运行时会读取它的当前值。路径有空格时用双引号包住路径。💡 路径空
目标为空或替换后仍为空时,本条会失败,不会启动任何东西。
运行序号,带备注时为 运行序号_备注运行1、运行1_打开记事本⚙️ 调控
🖼️ 配置界面
| 模式 | 输入与输出行为 |
|---|---|
| 不等待 | 启动后立刻继续后面的指令,不管目标什么时候结束。 |
| 等待+返回值 | 等到进程结束后,才继续后面的指令,并把退出码写入变量。 |
| 不等待+输入 | 启动时把「标准输入」写给目标程序,然后不等待结束。 |
| 等待+输入输出 | 启动时写入标准输入,等到结束,再把退出码、标准输出、标准错误分别写入变量。 |
{变量名} 会先替换再执行。{变量名}。💡 编码
「不等待+输入」设置输入编码;「等待+输入输出」可分别设置输入、输出和错误流编码。选择目标程序实际使用的编码。
运行Pro序号,带备注时为 运行Pro序号_备注运行Pro1、运行Pro1_打开记事本⚙️ 调控
🖼️ 配置界面
| 操作 | 执行方式 |
|---|---|
| 插入到当前宏 | 把目标宏的指令展开进当前流程,接着同步执行。展开次数只取本指令的「插入次数」。 |
| 触发 | 另外启动目标宏,和当前宏同时跑(会再占一个执行线程)。 |
| 暂停 | 暂停正在运行的指定宏。目标当前没在跑,则本条没有效果。 |
| 取消暂停 | 恢复已经被暂停的指定宏。目标当前不是暂停状态,则本条没有效果。 |
| 终止 | 终止正在运行或已暂停的指定宏。目标两边都不是,则本条没有效果。 |
💡 插入与触发
插入不会多开一条并行宏,只是把指令接到当前流程后面;触发会再占一个 Worker / 线程,两边同时跑。
宏操作序号,带备注时为 宏操作序号_备注宏操作1、宏操作1_插入登录⚙️ 调控
🖼️ 配置界面
通过窗口绑定查找窗口,并将查询结果写入变量或数组。绑定可按标题、类名和进程名匹配,也可引用变量。点击绑定旁的编辑按钮可用鼠标选取窗口。
| 查询类型 | 写入内容 |
|---|---|
| 位置与宽高 | 返回窗口左上角的屏幕坐标及包含标题栏、边框的尺寸。 |
| 标题类名句柄 | 分别返回窗口标题、类名和句柄。 |
| 进程信息 | 返回进程名、PID 和程序路径。 |
| 窗口状态 | 返回存在、激活、最小化、最大化、置顶、透明度和鼠标穿透状态。开关状态用 0 或 1 表示,透明度为 0~100。 |
| 匹配窗口列表 | 返回窗口句柄数组,未匹配到窗口时返回空数组。 |
查询可选择首个或最后一个匹配窗口,匹配窗口列表还可选择所有。顺序按窗口层叠顺序确定,常规标题、类名、进程名匹配会跳过隐藏窗口。
💡 检查窗口是否存在
选择「窗口状态」。未匹配到窗口时,「存在」返回0。结果变量留空时跳过该项。
窗口信息序号,例如 窗口信息1_查询窗口位置。⚙️ 调控
🖼️ 配置界面
使用与「窗口信息」相同的窗口绑定,选择操作所有、首个或最后一个匹配窗口。按标题、类名或进程名匹配时使用可见窗口。
| 操作类型 | 可执行动作 |
|---|---|
| 窗口操作 | 激活或关闭窗口。 |
| 移动窗口 | 设置绝对屏幕坐标、按偏移量相对移动,或在窗口所在显示器的工作区居中。相对移动支持负数,例如 X=-20 向左移动 20 像素。 |
| 调整尺寸 | 只改宽高,或同时改位置与宽高。宽高包含标题栏和边框。 |
| 显示状态 | 最大化、最小化或还原。 |
| 置顶与鼠标穿透 | 可开启、关闭或切换状态。 |
| 修改标题与透明度 | 支持变量,透明度范围为 0~100。 |
⚠️ 关闭进程
勾选后会结束匹配窗口所属的进程,该进程的其他窗口也会关闭。
调整窗口序号,例如 调整窗口1_居中。旧宏中的 窗口管理序号 仍可执行。⚙️ 调控
🖼️ 配置界面
| 类别 | 可选动作 |
|---|---|
| 图文 | 截图(保存到 Images\ScreenShot)、截图并提取文本(识别结果放进剪贴板)、自由贴(把剪贴板里的图片或文本贴到桌面上)。 |
| 输入控制 | 启用 / 禁用鼠标、键盘或键鼠一起;启用 / 禁用鼠标加速。都需要管理员权限,否则不会生效。 |
| 宏控制 | 显示或关闭菜单,打开或关闭界面窗口,禁用或启用指定模块,以及暂停、恢复或终止所有宏。 |
| 调试 | 开启 / 关闭变量监视,开启 / 关闭指令显示。 |
| 软件自身 | 休眠、重载、关闭软件。 |
⚠️ 禁用键鼠
务必先留好恢复办法(后面再跑一条启用、或准备好热键),否则本机键鼠会被挡住。
RMT指令序号_动作备注,例如 RMT指令1_开启指令显示。RMT指令_类别_指令。旧「显示菜单」可写 RMT指令_宏控制_显示菜单_序号,省略序号时打开第一个。📌 其他
🖼️ 配置界面
| 抓图类型 | 坐标基准 |
|---|---|
| 屏幕抓图 | 按屏幕坐标截取,和哪个窗口在前无关。 |
| 窗口抓图 | 按窗口客户区坐标截取。窗口可以在后台。 |
名称.png(名称不能为空)。取消勾选后,软件用序列号、时间和唯一后缀为每次抓图生成名称。💡 保存位置
固定写到当前方案的Setting\<方案>\Images\TempShot。安装目录没有写权限时,会改存到用户临时目录RMT_TempShot。界面上不能自己指定保存路径。
抓图序号,带备注时为 抓图序号_备注抓图1、抓图1_当前血条📌 其他
🖼️ 配置界面
...。编辑器和指令树会读取完整正文。💡 和指令备注
其它指令序列号后面的备注,只是那一条的名字;注释是单独占一条位置的指令,专门用来写说明。
🚫,那是暂时禁用它。注释本身就没有任何动作,不需要再跳过。注释序号_内容摘要注释1_下面开始吃药自定义界面宏的浮窗控件可以绑定到某条宏、某一步的一个参数。在浮窗里修改控件,会改这个参数的当前值;使用界面上的「写入宏」后,才保存到宏文本或指令数据。不写入就关闭浮窗时,参数回到打开前的值。
宏类型下拉列出当前配置里的可用宏,不限于界面宏本身。下面按控件类型和指令列出目前可以绑定的字段。未列入的指令不会出现在挑选器中。
| 值类型 / 目标 | 可用控件 | 校验与行为 |
|---|---|---|
整数(int) |
输入框 | 只接受整数,并校验字段规定的范围 |
文本(text) |
输入框 | 最长 500 字;默认拒绝宏分隔符和 _,明确允许分隔符的字段除外 |
枚举(enum) |
下拉框 | 只能选择预设值;当前字段白名单中有 RMT 指令 |
布尔(bool) |
勾选框 | 当前用于步骤的「是否执行」开关 |
| 任意字段 | 只读文本 | 仅显示值,不写回字段 |
| 触发宏(操作项) | 按钮 | 绑定所选宏本身,不绑定某一步的参数 |
只读文本可用于显示已支持的字段。字段值类型与其对应的可编辑控件不能互换。
内联参数直接写在宏步骤文本中。只列出步骤中实际存在、且允许绑定的参数,不会自动补齐缺少的参数。
| 指令 | 参数 | 类型 / 范围 | 说明 |
|---|---|---|---|
| 间隔 | 第 2 段:时长 | 整数 0–3600000 |
当前值为纯整数时按整数校验 |
| 间隔 | 第 2 段:时长~上限 | 文本 | N~M 整段作为文本处理 |
| 按键 | 第 2 段:键名 | 文本 | 已登记的特殊键名允许包含 _ |
| 按键 | 第 4 段:点击时长 | 整数 0–60000 |
当前值不是纯整数时按文本处理 |
| 按键 | 第 5 段:点击次数 | 整数 1–9999 |
当前值不是纯整数时按文本处理 |
| 按键 | 第 6 段:每次间隔 | 整数 0–60000 |
当前值不是纯整数时按文本处理 |
| 其他内联步骤 | 第 2 段起的实际参数 | 文本 | 标签显示为「第 N 段」 |
按键的第 3 段「动作」以及间隔 / 按键中作为备注的第 3 段不开放绑定。内联文本默认不能输入 _、逗号、中文逗号、换行或 ⫶,以免破坏步骤和参数结构。
序列指令的字段保存在对应指令数据对象中。文本字段的长度上限均为 500 字;“允许分隔符”表示该字段可包含宏分隔符及 _。
| 指令类型 | 字段(存储路径) | 类型 / 范围 | 候选控件 | 条件与备注 |
|---|---|---|---|---|
| 变量 | 赋值内容(VariableArr.1) |
文本 | 输入框 | 仅开放第 1 个变量槽 |
| 变量 | 随机下限(MinVariableArr.1) |
整数 0–999999999 |
输入框 | |
| 变量 | 随机上限(MaxVariableArr.1) |
整数 0–999999999 |
输入框 | |
| 循环 | 循环次数(LoopCount) |
整数 -1–999999 |
输入框 | -1 表示无限循环 |
| 运行 | 目标(Target) |
文本 | 输入框 | |
| 等待 | 检测间隔(Interval) |
整数 0–60000 |
输入框 | |
| 等待 | 主参数(Param1) |
文本 | 输入框 | 含义随等待模式而异 |
| 搜索 / 搜索Pro / 搜索Combo / 组合搜索 / 搜索Multi | 相似度(Similar) |
整数 50–100 |
输入框 | 仅图片搜索类型 |
| 搜索 / 搜索Pro / 搜索Combo / 组合搜索 / 搜索Multi | 检索文本(SearchText) |
文本 | 输入框 | 仅文本搜索类型;允许分隔符 |
| 搜索 / 搜索Pro / 搜索Combo / 组合搜索 / 搜索Multi | 搜索次数(SearchCount) |
整数 -1–9999 |
输入框 | -1 表示无限 |
| 搜索 / 搜索Pro / 搜索Combo / 组合搜索 / 搜索Multi | 搜索间隔(SearchInterval) |
整数 0–60000 |
输入框 | |
| 输出 | 输出内容(Text) |
文本 | 输入框 | 允许分隔符 |
| 鼠标移动 / 移动 | 目标 X(PosX) |
整数 0–65535 |
输入框 | |
| 鼠标移动 / 移动 | 目标 Y(PosY) |
整数 0–65535 |
输入框 | |
| 鼠标移动 / 移动 | 移动速度(Speed) |
整数 0–100 |
输入框 | |
| 增量移动 | 横向位移(DeltaX) |
文本 | 输入框 | 支持 {变量};允许分隔符 |
| 增量移动 | 纵向位移(DeltaY) |
文本 | 输入框 | 支持 {变量};允许分隔符 |
| 增量移动 | 偏移次数(Count) |
文本 | 输入框 | 支持 {变量};允许分隔符 |
| 增量移动 | 每次间隔(Interval) |
文本 | 输入框 | 支持 {变量};允许分隔符 |
| 倒计时 | 秒数(Seconds) |
整数 1–86400 |
输入框 | |
| RMT 指令 | 指令(CmdStr) |
枚举,共 27 项 | 下拉框 | 预设值与 RMT 指令编辑器一致 |
| RMT 指令 | 菜单序号(MenuIndex) |
整数 1–99 |
输入框 | 仅「显示菜单」时有执行意义 |
搜索字段按数据对象的 SearchType 过滤:相似度仅用于图片搜索,检索文本仅用于文本搜索;搜索次数和搜索间隔始终可选。旧数据对象没有 SearchType 时,为避免误隐藏字段,挑选器会保留这些候选项。
| 项目 | 控件 | 行为 |
|---|---|---|
| 触发宏 | 按钮 | 在挑选器中选择「触发宏」,生成的按钮运行当前选定宏;它不是宏字段 |
| 是否执行 | 勾选框或只读文本 | 勾选表示执行;取消勾选会在步骤文本前添加 🚫,与主界面的跳过指令机制一致 |
步骤开关适用于顶层步骤和下方列出的嵌套容器内的步骤。
以下容器可在挑选器中展开。容器里的步骤使用相同字段白名单,绑定会保存完整嵌套路径。
| 指令 | 可展开内容 |
|---|---|
| 如果 | 真分支、假分支 |
| 如果Pro | 分支 1 至 N、默认分支 |
| 循环 | 循环体 |
| 搜索 / 搜索Pro / 搜索Combo / 组合搜索 / 搜索Multi | 真分支、假分支 |
嵌套最多 5 层。步骤或容器被修改、删除后,原绑定路径可能失效;失效路径会报出提示,不应继续写入旧位置。宏操作引用子宏的方式不稳定,因此不会递归展开其目标宏。
下列指令或数据目前不在字段白名单中。它们不会因为在数据对象中存在属性就自动出现在挑选器里。
| 指令 / 字段 | 暂不支持的原因 |
|---|---|
| 时间 | SubMode 对应多种模式,同名字段语义不同 |
| 注释 | 不参与执行,绑定只会改变显示文字 |
| 如果 / 如果Pro 的条件字段 | 比较类型和变量值具有模式及数组索引语义;分支容器本身仍可展开 |
| 运算 / 文本处理 / 数组 / 文件读写 | 字段与操作模式、数组结构相关,尚无逐字段规格 |
| 抓图 / 图形节点 / 图形开始节点 | 使用路径对象或节点数组,单字段写入不足以表达完整配置 |
| 窗口管理 | 参数与移动、调整大小、关闭等动作类型耦合 |
| 后台鼠标 / 后台按键 / Timing / 按键检测 / 手柄检测 | 数据结构和写入语义尚未纳入白名单 |
| 宏操作的目标字段 | 目标以宏类型和序号引用,宏增删后可能错位 |
| 搜索内的多点找图采样数据 | 属于数组数据,单字段编辑可能破坏采样结构 |
先正常打开一次若梦兔。软件会把程序路径写入环境变量 rmt,并把 rmt 命令加入当前用户的 PATH。之后重新打开终端,在任意目录都可以直接输入命令。
| 项目 | 说明 |
|---|---|
🔤 环境变量 rmt |
程序完整路径。编译版是 exe,源码运行时是启动脚本。 |
🖥️ 命令 rmt |
新开的终端里直接使用,不必先进入软件目录。 |
🔢 位置 m-n |
第 m 个页签里的第 n 个宏,从 1 开始。例如 1-2 是第 1 页第 2 条宏。 |
✅ 退出码 0 |
执行成功。查询类命令的结果写在标准输出。 |
❌ 退出码 1 |
参数不对,或页签、宏、变量、数组不存在。原因写在标准输出。 |
⏱️ 退出码 2 |
若梦兔没能及时启动,或指令等待超时。 |
若梦兔已经打开时,命令交给当前实例执行,不会把正在运行的宏关掉。若梦兔没打开时,命令会先把软件拉起来,再执行。
管理员身份运行编译版时,同名变量还会写入系统环境变量。
值里含有空格时请加引号:
rmt -set 标题 "第一行 内容"
显示全部命令及其作用。
rmt -help
| 项目 | 说明 |
|---|---|
| 📤 输出 | 命令列表,写在标准输出。 |
| 💡 适合 | 忘记写法时先看这一条,或让其他软件读取帮助文本。 |
静默打开若梦兔,不显示主界面,软件留在托盘里继续工作。
rmt -min
| 项目 | 说明 |
|---|---|
| 🪟 界面 | 不打开主窗口。 |
| 🔗 连用 | 可以和其他命令一起写,例如 rmt -min -run 1-2:后台打开,并启动第 1 页第 2 条宏。 |
若梦兔已经在前台打开时,再执行
rmt -min会把主界面收起。
运行第 m 个页签下的第 n 个宏。
rmt -run 1-2
| 项目 | 说明 |
|---|---|
| 📍 参数 | m-n。1-2 表示第 1 个页签的第 2 条宏。 |
| ✅ 成功 | 退出码 0。宏开始执行,不需要等待宏自己跑完。 |
| 🚫 禁用 | 这条宏或它所在模块被禁用时,不会启动,并返回「该宏已禁用」。 |
终止第 m 个页签下的第 n 个宏。
rmt -kill 1-2
| 项目 | 说明 |
|---|---|
| 📍 参数 | m-n,与 rmt -run 使用同一套序号。 |
| 🛑 效果 | 停止这一条宏。正在运行时会按终止处理。 |
终止所有页签下正在运行的宏。
rmt -killall
| 项目 | 说明 |
|---|---|
| 📦 范围 | 每一个页签里正在运行的宏。 |
| ⚠️ 注意 | 这是全部停止,不是停止某一条。停止某一条请用 rmt -kill m-n。 |
暂停第 m 个页签下的第 n 个宏。
rmt -pause 1-2
| 项目 | 说明 |
|---|---|
| 📍 参数 | m-n。 |
| 🟡 状态 | 暂停后,rmt -status m-n 返回 2。 |
取消暂停,让第 m 个页签下的第 n 个宏继续执行。
rmt -resume 1-2
| 项目 | 说明 |
|---|---|
| 📍 参数 | m-n,对应之前暂停的那一条。 |
| 🟢 状态 | 正在运行的宏继续后,rmt -status m-n 返回 1。 |
暂停所有页签下的所有宏。
rmt -pauseall
| 项目 | 说明 |
|---|---|
| 📦 范围 | 全部页签、全部宏。 |
| 🔁 恢复 | 用 rmt -resumeall 一起继续,或用 rmt -resume m-n 继续其中一条。 |
取消全部暂停,让所有页签下的宏继续。
rmt -resumeall
| 项目 | 说明 |
|---|---|
| 📦 范围 | 全部页签、全部宏。 |
| ▶️ 对应 | 与 rmt -pauseall 成对使用。 |
给若梦兔的全局变量写入一个值。没有这个变量时直接新增。值一律按字符串保存。
rmt -set 次数 3
rmt -set 标题 "今日副本"
| 项目 | 说明 |
|---|---|
| 🏷️ key | 变量名。 |
| 📝 value | 变量值,类型是字符串。已有同名变量时覆盖原值。 |
| 👀 可见 | 正在运行的宏和变量监视器会看到这个新值。 |
读取若梦兔的全局变量。结果统一是字符串。
rmt -get 次数
| 项目 | 说明 |
|---|---|
| 📤 输出 | 变量当前的文本,例如 3。 |
| ❌ 不存在 | 退出码 1,并提示变量不存在。空字符串是合法的值,请同时看退出码。 |
给若梦兔的数组变量写入一串值。没有这个数组时直接新增。
rmt -setarr 名单 [1,2,3,4]
| 项目 | 说明 |
|---|---|
| 🏷️ key | 数组名。 |
| 🧩 value | 用方括号包住,元素用英文逗号分隔,例如 [1,2,3,4]。 |
| 🔤 元素 | 元素按字符串保存。[1, 2, 3] 里的空格会被去掉。 |
嵌套数组同样使用方括号,例如
rmt -setarr 分组 [1,[2,3],4]。
读取若梦兔的数组,结果统一是字符串。
rmt -getarr 名单
数组内容是 1,2,3,4 时,标准输出为:
[1,2,3,4]
| 项目 | 说明 |
|---|---|
| 📤 输出 | 带方括号的文本。空数组返回 []。 |
| ❌ 不存在 | 退出码 1,并提示数组不存在。 |
查询第 m 个页签下第 n 个宏现在的运行状态。
rmt -status 1-2
| 返回值 | 含义 |
|---|---|
0 |
闲置,当前没有在跑。 |
1 |
正在运行。 |
2 |
暂停中。 |
其他软件读取标准输出中的这一个数字即可,成功时退出码为
0。页签或宏不存在时退出码为1。
正常配置触发键和宏配置后,按下触发键无法触发宏执行
即按下触发键后,对应宏配置序号位置没有出现绿色色块
解决方法:
提示:不支持覆盖文件更新软件,覆盖内容更新也出现宏触发无效(请使用软件的配置迁移,或导出导入同步配置)
在「帮助」页的「问题反馈」中点击「立即反馈」,选择「Bug 反馈」或「功能建议」,填写标题和描述。首次使用先点击「登录论坛」,在浏览器中完成登录与授权。
描述中可使用 Markdown,也可通过 Ctrl+V 粘贴图片或拖入图片文件。提交前检查正文、图片及「附带环境信息」选项;提交成功后可点击「打开帖子」查看。报告 Bug 时建议写明复现步骤、预期结果和实际结果。
在记事本中可以正常触发,但在游戏中无法触发或触发后配置不生效。
解决方法:
1、RMT(若梦兔)设置界面勾选 管理员启动 选项,左下角应用并保存后,测试配置是否正常
2、宏配置->按键类型 -> AHI确定后,左下角应用并保存后,测试配置是否正常
3、运行GHUB、进入若梦兔宏配置,修改宏按键类型->罗技确定后,左下角应用并保存后,测试配置是否正常
4、如以上方法无效,请执行1、2 或者 1、3:以管理员身份运行软件 + 修改宏按键类型
触发键设置为其他按键可以正常触发,但设置为鼠标侧键时无法触发宏。
这通常是因为侧键已经在 G HUB、雷蛇 等驱动配置软件中被绑定了其他功能。
解决方法:
打开对应鼠标硬件的配置软件,删除侧键上已绑定的功能,保存后即可正常触发。
使用360、火绒、腾讯电脑管家等安全软件,若梦兔的宏按键鼠标左键、右键、回车键将统统无效
解决方法:
此类问题通常由环境或配置变动引起,请逐项排查。
解决方法:
按键类型选择「罗技」时,键盘与鼠标都依赖 G HUB 2022.2.1154 及更早版本。
1、安装旧版 G HUB(交流群文件下载)
2、打开 设备管理器,确认能看到罗技的两个 GHUB 虚拟设备(如下图)。
看不到这两个设备时,罗技功能无法使用。
3、若没有上述设备:到系统「安装的应用」中卸载 G HUB,再重新安装旧版,直到设备管理器中出现这两个虚拟设备为止。
4、运行「禁用 G HUB 更新」脚本(交流群文件可下载),尽量避免被自动升到新版。
提示:仅在 G HUB 软件里关掉更新有时会失效。一旦G HUB升级到新版本,若梦兔罗技按键类型将失效
宏指令执行过于紧凑时,可能会导致部分指令未被系统识别或执行。
原因: 系统处理指令需要时间,若指令之间没有合理间隔,后续指令可能被丢弃。
在指令之间增加适当的间隔,可以有效提升宏执行的稳定性。
| 场景 | 推荐值/做法 |
|---|---|
| 宏按键点击时长(按下到松开) | 推荐 100ms |
| 宏按键点击时长(最低不建议) | 低于 30ms 易丢失 |
| 搜索按钮点击操作(不影响功能前提下) | 后续增加 500ms 或更多间隔,避免按钮响应慢,影响后续指令 |
| 宏末尾(不影响功能前提下) | 增加 200ms 间隔,有助于避免状态异常 |
| 通用习惯 | 不追求极限速度时,多插入100ms间隔是良好的习惯 |
提示:适当增加间隔不会明显影响使用体验,但能显著提高宏的可靠性。
| 点击时长 | 表现 |
|---|---|
| ≤ 250ms | 点击操作 |
| 250ms ~ 500ms | 因不同软件、游戏而有所差异 |
| ≥ 500ms | 长按操作 |
宏按键「按下后未松开又再次按下」的行为,可在软件设置中配置处理方式。
真实键盘无法触发此行为(通常无效);部分按键检测网站可能检测不到,但记事本中可正常输出。
设置界面「数值选项」中可配置以下随机浮动:
下载软件压缩包,未解压运行
原因:
下载zip包后,直接浏览zip包里面的文件,并运行若梦兔应用程序
解决方法:
运行若梦兔应用程序报错
原因:
若梦兔文件放在受保护的文件夹中,导致若梦兔运行时没有创建文件夹的权限、没有访问自己配置文件的权限
解决方法:
通过阿里云盘或者百度网盘下载软件文件不全 或者 系统误杀删除部分文件
解决方法:
低于1.0.8版本配置迁移到1.0.8版本中
解决方法:
播放音频时报错
解决方法:
Windows存在UAC(用户账户控制)隔离
解决方法:
抓图指令或搜索图片时报 OpenCV 不可用、dll 加载失败,或抓完 Images\TempShot 里没有图。
原因:
Plugins/OpenCV解决方法:
Setting\<当前方案>\Images\TempShot;安装目录没写权限时看用户临时目录 RMT_TempShot本文档概述了 RMT(若梦兔)按键宏工具的模块架构与功能,方便开发者快速理解项目结构与功能。
用户操作 / 热键触发
↓
BindUtil.ahk (热键路由)
↓
MacroUtil.ahk.OnTriggerMacroOnce (指令解析 & 分发)
↓
ExecuteMacroCmdOnce (单条指令执行)
├─ 键盘/鼠标/手柄模拟
├─ 图片识别 (OpenCV)
├─ 文字识别 (RapidOcr / TesseractOcr)
├─ 循环/条件判断
├─ 运行程序/脚本
└─ 其他指令...
支持多线程: WorkPool.ahk → Thread/Work.exe (独立进程)
RMT.ahk程序的主入口,负责初始化与启动。
初始化流程:
SelfCheckMissingFiles() — 文件完整性自检(开发阶段注释掉)InitFilePath() — 初始化文件路径(配置文件、日志等)LoadCurMacroSetting() — 加载用户配置文件HandleOpenArg() — 处理打开软件的参数EditListen() — 滚轮按键监听InitData() — 初始化软件内部数据缓存InitUI() — 初始化主界面 UISetEditData() — 缓存编辑器数据PluginInit() — 初始化插件(耗时较长,放后面)TimingCheck() — 轮询检测定时触发BindKey() — 绑定全局快捷键Main/)GlobalUtil.ahk功能概述:
全局变量声明与模块引用中心。通过 #Include 串联所有核心模块和 GUI 模块。
职责内容:
MySoftData、MainSoftData 等全局变量#Include 所有核心模块(WorkPool, UIUtil, TimingUtil, BindUtil, VariableUtil 等)#Include 所有 GUI 模块#Include 部分插件(ViGEm, AHK-XAML, MacroGraph)DataClass.ahk功能概述:
定义程序中用到的数据结构与宏指令的数据模型。
职责内容:
TableItem — 主表格数据结构,含每个宏项的状态、触发键、循环次数等Timer — 定时器/计划配置SoftData / MainConfig — 全局配置对象(主题、快捷键映射、用户偏好设置)*Data 类(KeyboardData, SearchData, LoopData, RunData 等)— 宏指令数据模型AssetUtil.ahk功能概述:
统一管理资源(如图标、配置文件等)的加载、保存与转换。
职责内容:
InitFilePath() — 初始化所有文件路径SelfCheck.ahk功能概述:
文件完整性自检工具。
职责内容:
SelfCheckMissingFiles() — 检查关键依赖文件是否存在(OCR模型、DLL、音频等)Main/Util/)MacroUtil.ahk — ⭐ 核心宏执行逻辑功能概述:
解析并执行宏指令。
职责内容:
OnTriggerMacroOnce(tableItem, macro, index) — 触发并执行单条宏(拆分指令、遍历执行)ExecuteMacroCmdOnce(tableItem, cmdStr, index, graphNode) — 执行单条宏指令OnPressKey, OnInterval, OnSearchWrapper, OnMouseMove, OnRunFile, OnCompare, OnVariable, OnLoop 等MacroClipboardUtil.ahk宏的复制、粘贴、导入导出操作。
GraphMacroUtil.ahk流程图宏的执行逻辑。
JsonUtil.ahkJSON 解析与序列化。
InputUtil.ahk输入框验证与处理工具。
TextOpsUtil.ahk文本处理指令的执行逻辑。
SearchUtil.ahk图片搜索指令的执行逻辑(调用 OpenCV 插件)。
CompareUtil.ahk条件比较指令的工具函数。
ExcelUtil.ahkExcel 文件读写工具。
FileIOUtil.ahk文件读写指令的执行逻辑。
ExpressUtil.ahk表达式计算引擎。
LangUtil.ahk国际化工具(加载语言文件、翻译字符串)。
FixCompatUtil.ahk旧版本配置文件的迁移改写(入口 Gui/SettingMgrGui.ahk)。仅主程序加载,由 Main/GlobalUtil.ahk 引入,Worker 不加载。新增迁移函数请放这里。
CompatDataUtil.ahk内存数据结构的旧版本字段补齐(Compat1_0_8F4FlodInfo、CompatEnsureArrLength)。主程序与 Worker 共用,由 Main/AssetUtil.ahk 引入,因此不可引用主程序专属函数。
Gdip_All.ahkGDI+ 图像处理库。
HumanMouse.ahk人类化鼠标移动算法。
PresssKeyUtil.ahk底层按键模拟工具。
ArrayUtil.ahk数组操作工具函数。
SerialUtil.ahk指令序列化标识管理(GetCMDSerialStr)。
RingBuffer.ahk环形缓冲区(用于 Worker 进程通信)。
SharedMemory.ahk共享内存封装(用于 Worker 进程通信)。
PluginUtil.ahk插件加载与管理。
ErrorHandler.ahk全局错误处理与报告。
MergeUtil.ahk配置合并工具。
WorkPool.ahk功能概述:
多线程 Worker 池管理。
职责内容:
TaskQueue — 任务队列WorkerData — Worker 进程数据封装BindUtil.ahk功能概述:
全局热键注册与触发路由。
职责内容:
BindKey() — 绑定所有快捷键BindShortcut() — 注册单个热键/热字串InitTriggerKeyMap() — 初始化触发键映射UIUtil.ahk功能概述:
主窗口 UI 模板,负责构建和控制所有主窗口相关的 UI 元素。
TimingUtil.ahk功能概述:
定时/计划宏的调度与执行。
职责内容:
TimingScheduler — 定时调度器类VariableUtil.ahk功能概述:
变量管理与替换引擎。
职责内容:
{变量名} 语法RecordUtil.ahk功能概述:
键盘/鼠标宏录制。
职责内容:
RecordJoyUtil.ahk功能概述:
手柄宏录制。
JoyMacro.ahk功能概述:
手柄宏支持(按键映射、轴处理)。
TriggerKeyData.ahk功能概述:
触发键数据结构定义。
职责内容:
TriggerKeyData 类 — 管理单个按键的多种触发方式(按下、松开、长按、双击、开关等)WindowHotkeyManager.ahk功能概述:
窗口热键管理器(为指定窗口绑定热键)。
FolderPackager.ahk功能概述:
文件夹打包工具(用于导出配置)。
Gui/)MacroEditGui.ahk功能概述:
主宏编辑器,支持用户自定义宏逻辑。
职责内容:
MacroGraph/)功能概述:
可视化流程图宏编辑与执行模块,包含 12 个文件:
| 文件 | 职责 |
|---|---|
MacroGraphGui.ahk |
主界面 |
MacroGraphData.ahk |
数据结构 |
MacroGraphNodeUI.ahk |
节点 UI 渲染 |
MacroGraphConnections.ahk |
连线管理 |
MacroGraphEvents.ahk |
事件处理 |
MacroGraphFormal.ahk |
格式化/布局 |
MacroGraphFormalHandlers.ahk |
格式化事件处理 |
MacroGraphHandlers.ahk |
通用事件处理 |
MacroGraphEdit.ahk |
编辑功能 |
MacroGraphBranch.ahk |
分支逻辑 |
MacroGraphIfPro.ahk |
条件判断节点 |
MacroGraphMenu.ahk |
右键菜单 |
| 文件 | 编辑功能 |
|---|---|
KeyGui.ahk |
按键指令编辑 |
BGKeyGui.ahk |
后台按键编辑 |
BGMouseGui.ahk |
后台鼠标编辑 |
SearchGui.ahk |
图片搜索编辑 |
SearchProGui.ahk |
专业搜索编辑 |
LoopGui.ahk |
循环指令编辑 |
RunGui.ahk |
运行(备注 + 目标) |
RunProGui.ahk |
运行Pro(模式/输入输出) |
CompareGui.ahk |
条件比较编辑 |
CompareProGui.ahk |
专业比较编辑 |
TextOpsGui.ahk |
文本处理编辑 |
ArrayGui.ahk |
数组操作编辑 |
InputGui.ahk |
输入指令编辑 |
FileIOGui.ahk |
文件读写编辑 |
VariableGui.ahk |
变量编辑 |
ExVariableGui.ahk |
变量提取编辑 |
OperationGui.ahk |
运算编辑 |
UIMacroGui.ahk |
UI 宏编辑 |
MouseMoveGui.ahk |
鼠标移动编辑 |
MMProGui.ahk |
专业鼠标移动编辑 |
KeyCheckGui.ahk |
按键检测编辑 |
JoyCheckGui.ahk |
手柄检测编辑 |
OutputGui.ahk |
输出指令编辑 |
SubMacroGui.ahk |
子宏调用编辑 |
WindowManageGui.ahk |
窗口管理编辑 |
ScreenShotGui.ahk |
截图指令编辑 |
CommentGui.ahk |
注释编辑 |
TimingGui.ahk |
定时设置编辑 |
TriggerKeyGui.ahk |
触发按键配置 |
TriggerStrGui.ahk |
触发字串配置 |
MenuWheelGui.ahk |
菜单滚轮设置 |
FreePasteGui.ahk |
自由粘贴设置 |
SettingMgrGui.ahk |
配置管理 |
VarListenGui.ahk |
变量监听 |
RMTCMDGui.ahk |
RMT 命令 |
Thread/)| 文件 | 说明 |
|---|---|
Work.ahk |
工作脚本入口,编译为 Work.exe 用于并行执行宏 |
WorkUtil.ahk |
Worker 工具函数(初始化、指令执行、通信) |
WrokGlobalUtil.ahk |
Worker 全局配置与变量声明 |
Worker 通过共享内存(SharedMemory)+ 环形缓冲区(RingBuffer)与主进程通信。
Plugins/)| 插件 | 能力 |
|---|---|
OpenCV/ |
图片识别(模板匹配、特征检测),含 x64/x86 版本 DLL |
RapidOcr/ |
默认 OCR 引擎,PP-OCRv6 多语言模型;检测模型使用 IR 9,兼容 x86/x64 运行库 |
TesseractOcr/ |
可选 CPU OCR 引擎,含 x86/x64 DLL 与中英文 tessdata_fast 模型 |
ViGEm/ |
虚拟手柄模拟(通过 ViGEmBus 驱动模拟 Xbox/DS4) |
AhiDriver/ |
虚拟输入驱动 |
ScreenCapture/ |
屏幕截图工具(独立 exe 进程) |
AHK-XAML/ |
XAML/WPF UI 渲染库 |
IbInputSimulator.ahk + .dll |
输入模拟库 |
MouseControl.ahk + .dll |
鼠标控制库 |
CLR.ahk |
.NET CLR 宿主,支持调用 C# 代码 |
RMT/ |
C# 辅助库(RMT.dll, Device.cs, Http.cs) |
Lang/)| 文件 | 说明 |
|---|---|
中文.txt |
中文 UI 字符串 |
English.txt |
英文 UI 字符串 |
语言文件通过 LangUtil.ahk 的键值对查找实现切换。
| 目录 | 说明 |
|---|---|
Audio/ |
提示音(Start.wav, End.wav) |
Images/ |
图片资源(FreePaste, Gif, ScreenShot, Soft) |
Setting/ |
用户配置文件(MainSettings.ini, themes.ini) |
MinTool/ |
小工具(CountDown 倒计时, PlayAudio 音频播放) |
Log/ |
运行时日志 |
Web/ |
文档(开发指南、指令手册、更新日志、常见问题等) |
ReleaseX64/ / ReleaseX86/ |
发布版本资源 |
Joy/ |
手柄驱动与按键映射图片 |
如果你想新增指令,请参考以下流程:
新增数据保存文件路径
在 AssetUtil.ahk 的 InitFilePath 函数中添加:
global OpenSourceFile := A_WorkingDir "\Setting\OpenSourceSettings.ini"
定义指令数据结构
在 DataClass.ahk 中新增结构体 OpenSourceData,类似已有的 RunData。
重点字段:
SerialStr — 指令序列化标识,必须唯一,用于区分不同指令。 新增指令编辑界面
Gui/RunGui.ahk,重命名为 Gui/OpenSourceGui.ahk。 GetCMDSerialStr("运行") 改成 GetCMDSerialStr("开源")AddGui() 和相关接口,确保界面能编辑对应参数。添加指令按钮入口
Gui/MacroEditGui.ahk 中新增按钮,调用 OpenSourceGui.ahk 以打开编辑界面。 实现指令执行逻辑
Main/Util/MacroUtil.ahk 的 ExecuteMacroCmdOnce() 中添加 Actions 映射: "开源", OnOpenSource,
OnOpenSource() 函数,复杂指令参考"按键"指令,简单指令参考"文件"指令。如果调整会对 Work.ahk 有影响,需要先重新编译:
如果重新编译觉得麻烦,也可以临时把多线程改成 0。
修改 Worker 入口及其引用的执行逻辑、数据结构或进程通信代码后,也需要重新编译。建议先输出到临时文件,确认编译成功后再替换 Thread\Work.exe。
准备编译环境
安装 AutoHotkey v2 和 Ahk2Exe,确认编译器及所需架构的 AutoHotkey 基础程序存在。
打开编译工具
通过 AutoHotkey Dash → 选择 Compile。
选择源文件
Thread\Work.ahk 文件。设置输出路径
Thread 目录下的 Work.exe。AutoHotkey64.exe;生成 x86 发行版时使用 AutoHotkey32.exe。Images\Soft\rabit.ico。PackRMT.ps1 会编译开发环境的 x64 Worker,再打包帮助文档,之后提供发行版选项。若只需更新帮助文档,可在项目根目录执行:
node Web/JS/SingleHtml.js
生成器读取 Web 目录下的 Markdown,嵌入图片及脚本并生成根目录 index.html。文档内容应修改 Markdown 源文件,再重新生成 HTML;打开 index.html 可离线阅读并检查搜索和章节跳转。
直接双击 RMT.ahk 文件即可运行。
去掉手动管理员时的提示
修复按键替换手柄没有启动虚拟手柄问题
上下滚轮不需要受到连续触发选项的影响
鼠标侧键支持连续触发
输入弹窗:清除默认文本、自动获得焦点
修复抓图时偏移问题
修复文本识别定位问题(等宽字体修复)
优化使用宏手柄时,提示安装Vigem操作
逻辑树编辑器提示出行在对应窗口右下角
优化窗口宏出现位置问题
修复休眠时托盘图标不对问题
修复宏手柄,摇杆、方向键异常问题
新增窗口管理指令
新增双击触发类型;触发键可选择两个组合
支持配置合并
新增鼠标拟真移动轨迹
新增界面宏
设置新增管理员权限选项
新增小工具:倒计时(可传参调用,双击打开配置)
新增系统变量「星期几」
宏编辑器支持展开全部 / 折叠;可插入注释(双击编辑)
间隔指令新增随机类型
窗口相关能力增强:透明度、鼠标穿透开/关
输出新增「字符变量」类型
界面宏前台信息支持句柄变量
新增「文件校验」工具:可手动检查并补全缺失文件(不再启动时自动执行)
新增文本处理指令(分割 / 提取 / 替换,支持正则)
新增抓图指令(屏幕或窗口截图,结果可存入变量)
新增「仅前台运行宏」选项
新增图形节点编辑器
新增 PS5 手柄输入支持
运行指令增强:支持向程序输入内容、等待返回结果、窗口启动方式建议等
宏编辑器支持拖拽添加 / 调整指令位置
菜单宏支持粘贴;扇区数量可调整
RMT 指令新增启用 / 禁用鼠标、键盘、键鼠
完善快速输入相关能力
图形节点编辑器:如果 / 搜索 / 搜索Pro / 如果Pro 分支与循环体支持「内联展开」为可编辑节点,并可收缩回写
开关选项新增「自动松开修饰键」(默认开启):组合键触发宏前先松开 Ctrl / Alt / Shift 等,避免宏内按键被污染
开关选项新增「连续触发」(默认开启):关闭后,按下 / 开关 / 长按需先松开触发键才能再次触发
新增 AHI 按键类型:首次使用前若未安装驱动,会提示并可一键自动安装(也可按提示手动安装)
指令显示设置新增「输出到文件」与「自动清理时间」(每天 / 每周)选项
宏编辑器树视图支持 Ctrl 多选、Shift 连选,可批量复制 / 粘贴 / 删除
开关选项新增「共享复制」
下拉框选项新增「自动备注」
新增宏终止方法:智能终止 / 强制终止
新增按键检测指令
子窗口改为模态,操作更集中
支持动态多线程(可按需求使用单线程或多线程)
菜单宏热键改为窗口内生效
主界面新增复制按钮
路径可作为变量实时替换
搜索图片路径更易用:自增命名、界面显示路径、不存在时可弹窗选择
运行指令界面优化,支持等待返回值 / 完整输出
指令录制增强:托盘可开始/结束;结束时可覆盖、追加或取消;内容同时复制到剪切板
菜单宏轮盘优化:多屏适配、大小可调、中心关闭、扇区位置、图标显示、数字快捷键
图片识别体积优化;文字识别改为需要时再加载,加快启动
搜索可预览搜索范围
配置合并时,子项勾选会联动父项
组合键新增「触发顺序」选项
设置前台后,宏仅在该前台运行
定时宏可设置结束时间,到期自动停止
管理员权限改为软件内引导提升
轮盘、浮窗、主题与各类设置界面整体美化,并支持统一主题
设置页增加选项说明问号;宏编辑器右键菜单更精简
图形节点编辑器跟随主题,完善搜索 Pro / 循环 / 如果 Pro 等节点
菜单宏默认条目改为 4,界面宏默认 3 并配备注名
优化手柄按键体验、框选坐标提示、日志写入性能
提升多线程协作与按键顺序触发的稳定性
图形节点与逻辑树切换:切回逻辑树时正确压平嵌套图形开始节点(含循环 / 搜索 / 如果 / 如果Pro 分支)
图形节点完整复制:支持深拷贝图形开始节点子图及嵌套分支
图形编辑器内联展开布局与交互(展开间距、嵌套分支清理等)
界面宏浮窗设置:控件值变化增加节流防抖,移除冗余 Tag(#247)
手柄录制:按当前手柄类型(Xbox / PS5)分别映射录制键名;扫描全部物理 XInput 槽并跳过 ViGEm 虚拟手柄
罗技按键兼容性提升:优先使用更稳妥的发送方式;未运行 G HUB / LGS 时会提示,并可一键启动
统一罗技相关提示:键盘与鼠标均需 G HUB 2022.2.1154 及以前版本
提升罗技模式下滚轮与跨屏/大距离鼠标移动的稳定性
搜索 Pro 图片路径:可使用同名变量;不再强制要求本地图片文件事先存在
开关选项分组排列更清晰(开机自启、管理员启动、仅前台运行宏等)
宏编辑器等界面快捷键改为「仅窗口内生效」,离开窗口后不再全局占用按键
Excel 指定区域读取规则更清晰:支持单行/单列,禁止只读一个格子;跨行跨列时输出二维结果
跨进程传递数组时保留嵌套结构,二维数组不再被压扁
AHI 模式下,移动 / 移动Pro / 搜索后的移动点击会真正走 AHI,不再悄悄改用普通移动
移动相关指令统一按「移动选项 + 当前按键类型」选择普通 / 罗技 / AHI;速度统一为 0~100(越大越快,100 为瞬移)
设置页选项顺序调整为:语言 → 软件字体 → 首选编辑器
帮助文档改版:软件介绍 / 快速上手 / 指令手册 / 常见问题 / 常见报错 / 更新日志支持左侧展开与分页浏览,并可直达某一条说明;指令手册各项前显示对应图标;无目录时不再显示右侧大纲栏
软件介绍文案润色:统一图标含义,修正笔误与表述
设置页「手柄类型」修改为「虚拟驱动类型」,触发键中修改手柄触发键类型
变量监视器:标题栏「变量名」「类型」支持横向拖动分界线调整列宽
变量监视器:点击变量条目出现选中高亮,反馈更明显
变量监视器:默认窗口置顶,「窗口置顶」复选框状态与实际置顶同步
逻辑树编辑器支持 Ctrl+C / Ctrl+V 复制、粘贴指令
逻辑树编辑器复制、粘贴指令时,屏幕右下角显示提示并渐隐消失
逻辑树编辑器多选时「跳过指令」/「取消跳过」支持批量应用
统一使用 x86 表示 32 位架构(ReleaseX32 目录更名为 ReleaseX86)
宏高级设置中,按键类型改为「罗技」或「AHI」时,自动检测对应驱动/软件是否安装,未安装则弹出安装提示
添加每10分钟 work 残留清除机制
变量名支持加减乘除符号
关闭模态子窗口后支持编辑器多开
优化版本号显示,附带软件架构类型
手柄宏配置方式、表现方式优化
优化逻辑树空节点也可以使用快捷键粘贴
完善软件常见问题、常见报错文档内容
文件校验清单补齐
补充搜索、抓图相关日志
修复发送内容缓冲异常、文字识别遇到下划线异常
修复手柄自己触发自己、手柄绑定 / 长按检测异常
修复搜索文本坐标不能用变量、搜索 Pro 截图与坐标校验问题
修复宏执行超过约 10 秒被自动终止
修复多线程下数据不同步、变量操作重复执行
修复界面宏浮窗重复打开、关闭后仍弹出、任务栏唤起异常
修复窗口管理最大化黑屏、窗口信息显示与位置宽高保存问题
修复轮盘划线位置不准、主题未保存、仅一个宏时触发区过小等
修复导入旧配置缺字段、本地配置导入报错、配置合并冲突
修复部分按键失效、快速点击易丢、暂停 / 继续宏异常
修复定时宏无法暂停、后台鼠标点击时间未生效
修复拖拽指令到末尾报错、编辑器焦点残留等交互问题
以及其它若干稳定性与兼容性修复
修复管理员账号运行提示问题
修复运行指令兼容问题
修复开始节点呼出右键菜单问题
修复图形节点粘贴、边界与操作细节相关问题
修复分支内联展开后指令列表重复或不刷新
修复内联展开后后继节点间距不正确
修复收缩父节点 / 分支时内联子节点残留画布
修复纯修饰键(Shift / Alt / Ctrl / Win 及其组合)无法作为触发键的问题(#246)
修复移动 Pro「修改」屏幕规则时误写入搜索 Pro 配置文件,导致 SearchProFile 混入移动 Pro 数据
修复旧配置兼容迁移时定时序列码非法(如 0)写入 TimingFile,以及打开定时编辑时的防护
修复取消「开机自启」后注册表残留、软件仍会开机自启的问题(启动时与注册表对账)
修复宏内配置手柄按键时因 GetKeyState(Joy*) 非法键名抛错导致手柄输出不生效
修复 Xbox 手柄录制时左/右摇杆与 LT/RT 无法录制(误读 ViGEm 占用的 XInput 槽);同步兼容 PS5 录制映射
修复复制粘贴多个「移动Pro」等指令时互相覆盖的问题
修复「自动松开修饰键」误操作未按下的右 Alt,导致多出幽灵 Ctrl 的问题
修复多个界面窗口同时打开时可能闪退
修复界面宏浮窗关闭后,其它界面窗口打不开的问题
修复界面宏标题栏菜单被挡住的问题
修复已禁用的菜单宏仍弹出轮盘、界面宏被误当成菜单宏的问题
修复开关触发的无限循环宏(无间隔、连续搜索等)难以关闭的问题
修复强制停止后偶发的严重错误导致软件异常
修复设置页输入数字过程中因空内容报错
修复罗技 / AHI 模式下移动速度与界面设置相反的问题
修复罗技 / AHI 相对移动时速度偏高(如 90)表现成瞬移的问题,仅 100 为瞬移
修复 AHI 绝对移动鼠标乱飘(改为真正的绝对坐标移动)
修复发行版罗技模式鼠标移动无效(缺少相关组件)
修复暂停宏在部分情况下不生效的问题
修复多线程数设为 -1 时关闭宏可能卡住按键(未自动松开)的问题;单线程不受影响
修复手柄扳机 LT/RT 按下问题
修复 Excel 多次读取报错问题
修复变量监视器在任务管理器中图标缺失的问题
修复打开变量监视器时崩溃的问题
修复宏操作编辑器缺失部分界面宏选项的问题
修复 RMT 指令「关闭指令显示」「开启指令显示」后设置选框状态不刷新的问题
修复指令显示状态在 worker 与主线程之间不同步的问题
修复移动Pro「移动方式:游戏视角」会进行多余点击的问题
修复同按键多次点击录制的问题
修复宏编辑器多选时循环次数 / A、B、C 等被一并删除的问题
修复宏编辑器右键改变状态异常的问题
修复松止触发宏偶发「invalid memory read/write」崩溃的问题(Worker 强杀/重建时残留引用读取已释放的共享内存)
修复保存时任务栏闪烁报错的问题(保存时彻底释放 Worker 进程与共享内存,避免新旧进程竞争同一命名对象)
修复单线程模式(多线程数设为 0)下数组克隆指令无效的问题
修复保存/重载期间宏编辑器多选高亮、拖拽消息处理器访问已销毁控件报错的问题
修复多线程模式下罗技鼠标移动无效的问题
修复逻辑树编辑器右键复制后粘贴时界面闪烁的问题
修复宏结束自动松开按键问题
修复配置合并多层前台合并指令丢失问题
修复逻辑树真假分支粘贴报错问题
修复视角调整受按键类型影响问题
修复窗口抓图 Y 轴偏移问题(含带标题窗口)
修复如果 Pro 分支指令空编辑后条件丢失问题
修复如果 Pro 条件出现空格被截断问题
修复逻辑树编辑器没有焦点时按快捷键(含 Delete)报错问题
修复没有提权托盘显示管理员权限问题
修复关闭指令显示没有及时关闭问题
等待+完整输出(已由更清晰的运行等待选项替代)
后续计划(供参考,尚未实装):
小工具指令(倒计时、后台播放音频等)
工具页扩展:难删文件清理、批量重命名、垃圾清理
语音宏、图像目标检测(仍在规划)
窗口信息编辑变量下拉内容优化
更新日志改成倒序
如果Pro分支添加报错
变量自动去除空格问题
读取Excel空内容报错问题
Excel读取区域异常问题
表达式空值运算问题
如果Pro报错问题
进程名获取报错问题
窗口信息使用句柄变量报错
变量提取后调试报错
软件打开支持-min参数
运算增加取余操作
RMT指令新增窗口相关指令
新增数组指令(支持二维数组)
支持设置调试起点
新增输入指令
输出文本文件可指定文件编码
手柄从vjoy改成ViGEm
增加亮度调整按键
新增SC截图类型
前台|窗口信息增加句柄绑定
搜索pro支持窗口搜索图片、颜色、文本
变量增加句柄ID选项
如果增加正则表达式比较类型
变量提取支持窗口
增加颜色实时变量
新增文件读写指令
新增离线帮助说明文档
如果指令新增流程控制
item采用无尽列表刷新方式,让软件不再卡顿
优化指令编号问题
多语言问题优化
软件部分排版问题优化
系统托盘休眠中文化
优化配置导入速度
调整前台检测逻辑
变量名规范化
调整间隔变量兼容处理时机
取色器优化,解决左下角,右上角,右下角无法取色问题
按键指令_按键名_动作类型改成中文
优化默认变量名Num改成Var
变量、运算、宏操作添加默认备注
搜索pro,变量提取支持坐标
指令简化 形如搜索_Search1234_备注 => 搜索1234_备注
优化运算对浮点数的处理
循环次数重复
优化如果编辑器
运算指令优化
RMT指令优化
文本处理指令重构
重构宏操作指令
按键编辑提示优化
跳过指令可以编辑
优化导入功能
变量提取,提取文本编辑增加说明
文本处理处理参数提示文本优化
文本处理新增特定变量制表符
浮动数值保存检测
特别感谢信息调整
开发文档完善,辅助其他的人使用源码
定时宏采用Schedule和小顶堆处理
取消音频文件的绑定,支持替换Start和End音频
优化变量提取指令(空格处理)
更新图标调整指令顺序
变量提取-提取文本编辑优化
输入时交互 回车按键 默认真值或继续
输入时交互 ESC按键 默认假值或取消
按键编辑界面优化
按键替换编辑界面优化
触发按键编辑界面优化
优化主界面刷新逻辑,减少卡顿
主界面下划线位置调整
优化后台按键编辑界面
优化指令窗口-增加颜色状态
变量监视器窗口可动态调整-但是没有记录大小
罗技鼠标没有鼠标按键按AHK模式处理
指令更加防呆设计(空格和Tab判断)
OpenCV模型升级至4.8.1
终止所有用时,关闭菜单按钮
变量监视器大小,置顶状态保存
搜索pro无限次数时,假分支置灰
初始化错误提供更多信息,辅助排查
搜索Pro颜色支持变量
优化变量相关内容
RMT指令优化
输出指令支持数组
多语言完善
编辑界面右侧增加按钮图标
部分指令编辑界面优化
按键逻辑优化(按下时按下增加选项)
流程控制编辑器界面优化显示
录制选项细化-鼠标关键点位选项
截图快捷键->Alt+F1
自由贴快捷键->Alt+F2
托盘显示软件版本以及管理员权限
按键编辑器关闭后F1快捷键没有关闭问题
关闭变量监听窗口,宏指令编辑器勾选状态异常问题
变量提取会去除空格问题
后台鼠标中键和右键错位问题
如果Pro完全复制报错问题
搜索两个真值
按键被屏蔽问题
指令窗口颜色背景颜色设置无效问题
提示音多次触发软件闪退
重命名打开菜单轮失去焦点(第一次打开仍然无效)
循环次数重复
菜单轮线条闪烁问题
英文模式下无法调试问题
说明文档换行问题
删除如果pro分支指令异常
如果等于不能用于字符比较
文本提取空格式无效问题
完全复制引用异常问题处理
指令窗口不跟随问题
指令上下移动,分支不会调整问题
禁用模块定时仍然生效
配置导入无效
运算只对第一个编辑生效问题
输出弹窗无法显示_,{,}符号问题
调试标识影响指令执行问题
输入excel内容自动关闭excel文件问题
excel输入二维数组异常问题
编辑器文本状态无法录制指令问题
快捷键无法改成热字串问题
录制快捷键单个按键时,无法关闭录制状态问题
字串宏清除后保存报错问题
输入交互取消无效问题
开启自启偶尔弹窗问题
后台按键应用保存错误问题
应用保存对象池清除错误
按键替换1~8无效问题
开机自启最小化问题
关闭RMT残留work问题处理
部分取色后提示错误
选择图片时复制问题
F5版本rmt无法导入问题
任务计划程序运行没有托盘图标问题
变量提取问题
第二个指令上移问题
松止时松开其他按键问题
后台按键保存报错问题
数据越界问题
输入保存选框状态问题
运算表达式校验修复
如果Pro,循环指令完全复制问题
输出excel关闭问题
Excel读取保存问题
输入指令变量问题
输出指令保存问题
Excel写入保存提示问题
滑动条问题修复
文件读写下拉框显示问题修复
宏编辑界面关闭后异常刷新问题
非如果pro提示流程控制报错问题
输入指令-文本文件、Excel
输出指令-文本文件、Excel
删除变量存在则忽略(只保留变量指令中该选项)
工具->截图和自由贴 展示删除
分割线开关选项
宏编辑器新增编辑模式【逻辑树,文本】
逻辑树真假节点双击可以直接编辑
配置管理新增直接打开操作说明文档
宏新增提示音选项
新增变量监视器
新增循环指令
新增如果Pro指令
逻辑树增加上下移动指令功能
配置迁移
新增共享上传功能
新增逻辑按键类型
变量监视器新增双击修改值操作
增加多语言-中文/英语选项
进程通信增加回包检测机制
新增逻辑树-跳过指令/取消跳过
按键宏触发键按钮右键 可自定义触发按键
RMT指令-开启/关闭变量监视
新增使用说明编辑器
编辑器支持多窗口
编辑器增加工具菜单栏
(变量监视器,指令窗口)
编辑器增加调试菜单栏
(运行,单步运行,终止)
搜索pro增加窗口规格选项
移动Pro增加窗口规格选项
编辑器新增delete快捷删除操作
编辑器新增窗口置顶选项
调整主界面宏配置布局
共享配置网址调整
宏操作-插入操作,可以自定义插入次数
编辑窗口标题自适应显示文本
优化修正功能,支持修正兼容适配问题
调整字串宏的选项文本
优化指令状态传递方式
多线程设置优化(0~10且自动生成对应的work)
搜索编辑器打开时检查图片路径,提醒使用配置校准功能修复问题
开关 打开菜单宏 第一次打开 第二次关闭
备注文本优化,防止影响指令
优化循环次数变量下拉出现时机
优化通信,避免重复处理指令
部分指令去除下拉内部变量,减少干扰变量
变量监视器在保存后根据上次状态自动打开
指令监视器双击时显示当前数值
优化罗技按键初始化问题
优化导入配置存在弹窗的字体
优化配置迁移操作
优化共享上传操作流程
指令通讯方式优化
优化搜索Pro选择图片功能,适配导出导入
优化变量指令实现方式
优化循环次数的显示文本
指令手册-增加循环,如果Pro指令说明
优化指令显示窗口
配置序列号增加至七位(6位+随机数)
前台信息编辑器功能简化(去除不必要的快捷键)
编辑器Debug时清空指令窗口
编辑器Debug结束弹窗置顶
编辑器Delete快捷键优化
RMT指令编辑器默认显示10个选项
变量提取指令编辑器优化
变量提取,最多提取变量增加至6个
优化搜索Pro编辑器**
按键1~8触发按键无法屏蔽问题
终止所有宏无法终止子宏问题
加载配置/导入配置不显示窗口问题
宏配置上下移动,宏指令没有移动问题
文本模式下无法添加指令问题
配置太多导入异常问题
语音提示配置报错问题
多线程交互过快,信息丢失问题
如果pro功能没有实装问题
剪切板提取变量多换行符问题
共享上传临时文件删除报错问题
多屏重载后软件窗口位置重置问题
宏操作指令响应延迟问题
循环-如果Pro中创建变量不会出现在下拉框问题
罗技按键终止没有松开按键问题
模块中删除所有宏后,宏Label遗留问题
配置重命名后路径没有修复问题
编辑器指令窗口没有显示指令问题
使用说明添加图片报错问题
菜单按钮快捷键没有屏蔽问题
运行次数保存问题
Debug弹窗问题
间隔变量时间异常问题
多语言同步问题
多宏编辑器窗口报错
按键编辑器,点击模拟按钮报错问题
按键1~8触发按键触发异常问题
跳过指令完全复制报错问题
运行后显示窗口
按键指令编辑器去掉按键模式选项
指令窗口删除指令个数配置项
优化滑动组件
新增配置分组功能
新增分组禁用功能
宏编辑器右键新增完全复制选择
增加背景色选项(不怎么好用,还不如不用)
新增定位取色器,移动或搜索颜色指令点位编辑优化
RMT指令:新增关闭软件类型
定时宏:新增软件启动时触发
特别感谢页签增加
帮助页签增加视频合集链接
宏模块增加前台功能
指令编辑器增加指令的图标
新增菜单宏
新增后台按键指令
菜单宏增加出现位置选项
新增配置导出,导入功能
新增配置共享链接
移动Pro新增鼠标动作类型:移动,点击1次,点击2次
输出指令新增:输出到文本文件,输出到Excel表格
修复移动速度100时编辑指令速度90问题
弹窗指令bug修复
修复应用保存报错
修复新增配置报错
修复移动pro完全复制bug
修复嵌套逻辑完全复制报错
修复快捷键编辑异常问题
修复折叠框初始状态异常问题
修复设置滑动条异常问题
修复删除模块是界面UI位置偏移问题
修复Win按键长按触发异常检测问题
修复多修饰组合键长按触发问题
修复粘贴分支逻辑是显示错误
修复按键_F20_3_100指令双击编辑报错问题
修复未勾选"运行后显示窗口",应用、重载后界面不显示问题
修复按键替换功能屏蔽问题
修复前台相关问题
修复前台信息报错后,溢出问题
修复菜单轮显示获取焦点,导致指令输出到菜单轮问题
修复菜单轮非100%屏幕缩放显示异常问题
修复配置重命名bug
修复定式宏,停止时间后触发问题
修复按键替换前台问题
修复自增导入配置异常问题
修复备注文本溢出问题
修复导入兼容问题
调整字串宏长度提示
无变量提醒选项
变量提取指令(从之前的变量指令摘出来)
新增全局变量
搜索Pro文本搜索支持文本变量
新增软件截图选项
触发键编辑界面新增键盘监听输入
新增截图功能,新增自由贴功能
新增配置管理功能能
新增字体选项
新增定时宏
新增指令显示开关
新增RMT指令
"截图", "截图提取文本", "自由贴","开启指令显示", "关闭指令显示",
"启用键鼠", "禁用键鼠", "全局暂停", "终止所有宏", "重载"
新增上移下移功能
指令录制新增鼠标轨迹录制
按键指令新增组合键选项和按键监听
全局暂停功能
增加宏状态背景颜色标识
输出指令,增加弹窗,语音
宏操作新增暂停操作类型
宏指令编辑器可以右键复制,粘贴指令
指定进程改名前台:支持配置窗口标题,窗口类,窗口进程名
RMT指令新增暂停所有宏、恢复所有宏类别
增加指令手册说明文档
优化间隔指令,可以使用变量设置时间
优化间隔、移动Pro、运算指令
优化变量、变量提取、运算、如果指令
调整默认快捷键(改成更加生僻,以免不知道情况下误触发)
搜索界面UI简化,搜索Pro界面UI调整
变量提取不存在&x,&c增加提示反馈
变量提取执行测试指令,可提示变量截取结果
搜索指令:搜索次数支持无限搜索
优化宏指令编辑器
优化编辑器变量下拉预选
优化开关触发模式
删除并联模式
指令录制改成串联
指令录制选项优化
删除记录窗口默认位置功能
指令显示有注释时去掉标识符号
子宏,终止宏合并为宏操作指令
定时宏优化触发时间点
搜索颜色: 取色时自动框选搜索范围
搜索图片:RMT截图时自动框选搜索范围
路径修正:修正因为导入别人配置路径不对的问题
帮助界面新增表格链接(bug文档,需求文档,使用备注)
界面UI布局调整优化
输出指令增加更多选项
文件指令改名运行执行,并优化相关功能
文本识别参数回调
修改游戏选项->下拉式 按键类型:虚拟/拟真
宏指令编辑器
宏指令编辑器新增双击编辑指令操作
搜索Pro界面UI调整
子宏增加默认备
调整默认的指令显示窗口配置
变量提取次数可以无限次
调整键鼠禁用指令提示文本
手柄录制适配新录制指令
快速上手文档内容更新
调整变量提取指令布局
优化vjoy初始化模块**
删除局部变量,只保留(宏循环次数)
修复串联终止后指令无法再次生效问题
滑动滚轮,会莫名其妙导致一些宏变无限次和串联
开宏 全局终止宏 新增配置 点空白的地方报错
编辑器修改参数后,指令缓存导致编辑器模式执行指令异常
变量提取只有第一个宏生效问题
游戏模式下滚轮无效问题
框选范围结果异常问题
幂运算结果异常问题
子宏指令异常问题
指令显示窗口会获取焦点问题
子宏自己插入自己问题
串联多线程指令显示报错问题
终止宏
定时宏多个无法删除问题
快捷键显示问
变量创建提示错误问题
部分指令变量没有出现在变量下拉框
宏指令编辑器修改备注无法保存问题
软件运行时立马触发宏报错问题
快捷键显示问题
编辑器搜索指令修改后报错问题
宏操作指令序号显示异常问题
编辑器处理嵌套指令显示异常问题
多个自由贴无法关闭问题
上下进程名无法上下移动问题
暂停会吧休眠勾选上问题
多线程暂停功能异常
多线程输出语音和弹窗报错
录制轨迹时无法录制"/"按键问题
无限搜索时超过900次的报错问题(真无限)
内置变量没有拉取显示问题
定时宏默认配置点击报错问题
指令编辑器执行报错问题
新增配置是,上下移动异常问题
搜索坐标Y无法下拉选取变量问题
运算指令无法下拉选取变量问题
宏被子宏多次触发问题
宏终止卡键问题
宏操作调用自己问题
无权获取窗口信息时报错问题
xoutput中默认配置空问题
定时宏勾选结束时间异常问题
指令录制新增手柄选项
优化软件目录结构
优化设置显示快捷键文本
软件窗口宽度减少35px
调整【循环次数】UI位置(移动到比较靠前的位置)
调整【长按时间】UI位置(移动到触发键编辑界面)
优化宏信息保存:每个宏单独保存,不再拼接保存
如果手柄宏被其他软件屏蔽,可以运行joy目录下的Xoutput,【RMT虚拟手柄转Xbox手柄】点击开始
修复滚动条无法使用滚轮滚动问题
修复滚动条拖拽界面UI重叠
修复手柄十字键触发相关问题
免责申明:使用软件前需同意协议
"如果"指令支持逻辑关系"或"
内置变量:支持获取 X/Y 坐标与循环次数
托盘图标状态区分(暂停状态下不同图标)
新增串联指令多线程功能
新增简单搜索指令,降低新手编辑门槛
搜索指令新增截图快捷键
增加后台鼠标指令
快捷键修改逻辑
按键反馈机制
界面字体大小调整
文本与变量提取功能格式优化
文本提取快捷键默认设为 Alt+U
分支指令模式按宏指令的模式串联,并联
优化搜索框选功能提示
优化搜索鼠标动作参数设置
优化部分窗口排版
优化图片搜索功能(使用OpenCV接口)
优化文本识别功能(识别模型升级)
优化循序次数组件
优化图片搜索,图片一样只是有色差(黑色蒙版等),相似度99或100可以防止误触发
优化文本搜索的匹配方式,支持正则表达式(\d+ 这样就可以匹配任意整数了
工具可以获取窗口坐标
工具中增加窗口置顶选项,以便实时查看获取相关信息
后台鼠标增加滚轮操作
增加指令缓存,而不是每次都读取配置
取消选择图片时报错
快捷键修改 Bug
滚轮与数字区回车无法录制
组合键触发误触其他快捷键
快捷键 | 修改为 \
中文插入英文符号错误
125% 缩放下文本重叠问题
工具开关状态保存失败问题
子宏设置后删除前序宏引起序号错误
文本提取快捷键无法触发问题
运算功能的表达式中出现括号后,退格报错
修复删除配置报错问题
修复点击指令录制内容重复问题
修复多线程vbs路径适配问题
修复移动指令速度100保存问题
修复搜索界面编辑指令,二次编辑指令为空问题
修复多线程暂停无效问题
修复多线程子宏暂停问题
修复子宏保存序号显示问题
修复暂停时,开关触发宏状态没有重置问题
修复子宏,终止操作宏报错问题
修复多线程子宏问题
子宏调用自己问题
新增指令执行模式:
0,实现无缝衔接 软件更名为 RMT(若梦兔),原名 ButtonAssist 不易记忆
新增宏触发类型:按下、松开、松止、开关、长按
按键指令优化:支持点击、按下、松开
移动指令简化
新增移动 Pro 指令:支持更多参数与变量控制
设置中新增坐标浮动功能:鼠标移动可随机浮动
指令编辑器优化:支持右键编辑与快捷键录制
文件功能:支持 MP3 后台播放
搜索指令改为类存储结构(与旧版不兼容)
输出指令:便于文本输入
终止指令:中途退出宏执行
子宏功能:子宏不依赖触发按键,可多次循环
支持变量存储运行时状态
优化变量提取:可处理千位分隔数字(如 1,000,003)
新增变量运算指令:变量可通过运算改变值
新增"如果"指令:支持分支处理逻辑
搜索简化版指令:当前参数过多,学习成本高
宏分享功能:便于排查配置问题、快速复用
触发指令类型细分:引入单线程与多线程选项,降低使用门槛
搜索功能新增文本搜索类型
搜索范围功能优化:按下 F1 后可以框选范围
宏录制功能优化:可在设置中配置录制参数
工具新增 OCR 图片识别提取文本功能
简化指令语法:减少无意义参数
新增比较指令:可提取变量进行运算与比较
新增坐标指令:提取文本中的坐标并用于移动
搜索图片支持软件内截图
修复若干已知 Bug