Skip to content
NotBadSlimePublic

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

MacroHID 使用说明

MacroHID 是 Windows 10/11 x64 上的本机键鼠宏工具。目的是把各大宏软件的宏集中到一处使用,集百家之长:导入雷云、罗技 Lua、按键精灵、耕地机等常见格式后,在同一套编辑器和触发体系里一起跑。通过 Windows SendInput 发送输入,不安装驱动、不改 Secure Boot。适合合法的本机桌面自动化;控制管理员窗口时,请以管理员身份启动本软件。

宏数据默认保存在 %APPDATA%\MacroHID\MacroLibrary。卸载时默认保留,重新安装后仍可继续使用。

运行日志、界面报错、异常堆栈和锁帧诊断统一写入 %APPDATA%\MacroHID\log,源码版和安装版使用相同路径。点击顶部「打开日志」即可查看;反馈问题时请提供出错时间和对应的 runtime-*.log(有轮转文件时一并提供)。每次启动创建独立日志,单文件约 4 MB,保留两份轮转备份;启动时清理超过 14 天的旧日志。日志包含宏名称、文件路径和错误详情,不记录完整宏内容或逐键输入。旧版 crash.log 和 memory-fps-diagnostic.log 不迁移、不删除。

源码一键打包:双击根目录的 打包.cmd,默认同时生成安装包、便携包、免安装本地运行版,安装包与便携包固定放在 artifacts/packages,本地运行版固定放在 artifacts/local-run,并更新桌面 Start Item 目录中的“MacroHID 本地版”快捷方式。详见 打包说明。

当前正式版是 2.0.2(发布说明)。安装文件在 GitHub Releases:

  • MacroHID-Setup-x64.exe:安装包。从浏览器下载后,请先右键该文件 → 属性 → 勾选「解除锁定」→ 确定,再双击安装。若弹出「无法在临时目录中执行文件 / Error 4551」或 Windows 安全中心提示「无法确认发布者」,按 安装说明里的解除拦截步骤 处理,或改下便携包。
  • MacroHID-Portable-x64.zip:解压后得到与安装版相同的 MacroHID 目录,双击根目录里的 MacroStudio.cmd 即可。zip 同样先解除锁定再解压。

需要先安装 .NET 8 Desktop Runtime(x64)。安装包不内置运行时。控制管理员窗口时,请以管理员身份运行 MacroStudio。

2.0 正式版新增与优化

相较于 GitHub 上的 1.6.0 正式版,本次更新:

  • 更新原生批次调度、单宏执行路径及线程预热,减少播放启动和短批次调度的额外开销。
  • 优化播放快照、暂停/取消、停止后的清理和后台准备;增加实际后端、回退原因与分段诊断。
  • 优化条件识别的截图缓冲、缓存、哈希与模板匹配路径,以及子宏/并行分支的工作线程管理。
  • 改善序列、条件动作、动作面板和 JSON 编辑的响应与显示,统一相关控件的缩放和提示。
  • 新增 YSR 开启与恢复帧率动作,兼容旧切换动作,详见 YSR 使用说明。
  • 统一运行日志和一键打包,安装包、便携包与本地运行版使用固定输出位置;发行文件附带 SHA-256 校验值。

完整改动、兼容性和性能测量边界见 2.0.0 正式版说明。真实输入接收仍为毫秒级,不承诺微秒级端到端或硬实时上界。

1.6 版本改动回顾

  • 卡片编辑打开后聚焦第一个文本输入框(跳过下拉框);Enter 确认,Alt+Enter 在多行输入框中换行。适用于主序列和条件触发动作。
  • 优化关闭窗口选择弹窗,统一图标、标题与说明的对齐;可选择收进托盘或停止播放并退出。
  • 播放结束和异常退出时释放宏按下的键鼠;支持独立强制停止按键,只停止、不启动播放。
  • 网络效果与锁帧由播放会话独占,多个宏争用时明确提示;其他宏结束不会清除当前效果。
  • 关闭内置弱网时释放等待发送的数据包;防火墙设置/恢复错误不再静默忽略。
  • 锁帧失败保留原始备份以便重试,重复恢复可安全执行;时间偏移按真实经过时间恢复。
  • 网络、时间和帧率卡片校验目标程序及数值范围,错误参数不再悄悄使用默认值。

普通键鼠宏不需要驱动;断网/内置弱网功能使用随包提供的 WinDivert 驱动,需要管理员权限,可能需要在安全软件中允许该驱动。RTSS 锁帧需要安装并运行 RTSS;NetLimiter 引擎需要安装并运行 NetLimiter。网络与锁帧效果应先在目标程序中测试。


顶栏

  • 打开宏文件 / 另存当前宏:单独打开或另存一个 .mcrx,与宏数据库里的条目可以分开用。
  • 窗口:显示、浮动、停靠各个面板,或重置布局。
  • 暂停监听:临时关掉宏触发热键,已保存的触发键不会丢。软件核心的 取色快捷键 在暂停后仍然可用。捕获触发键、步骤按键或取色快捷键时会暂时停掉所有全局热键;按钮会变成「恢复监听」。
  • 语言:简体中文、繁体中文、英文。
  • 右侧还可切换深色 / 浅色主题。

界面总览

启动 MacroStudio 后,工作区由若干可显示、可停靠、可浮动的面板组成。用顶部「窗口」菜单,或左下角工具窗口按钮,可以显示、隐藏、浮动、停靠这些面板;布局乱了可以用「重置布局」。

常用面板:

  • 宏数据库管理:多个宏库、进程启用条件、精度 / 绑核、批量监听、导入导出。
  • 序列:当前宏按下触发后立刻执行的主流程。
  • 条件序列:播放过程中按像素、文字、时间或步骤范围监视画面,成立后再跑一组动作。
  • 动作面板:把延迟、键鼠、OCR、调用宏等动作点进或拖进序列。
  • 播放控制:给当前宏设触发键、播放模式,以及开始 / 停止监听。
  • MCRX JSON:当前宏的原始 JSON,改完合法内容会同步到序列和条件。

宏数据库管理

这个面板有两层:管理页列出各个宏库;双击进入某个库后,才是里面的宏文件和文件夹。

管理页(宏库列表)

  • 新建数据库:再建一个独立宏库(进程组)。「全局」库自带,不能删除。
  • 删除数据库:删掉选中的库;里面的宏会移回「全局」。
  • 启用进程:只对非全局库有效。填进程名后,只有该进程在最前面时,这个库里的监听才会生效。可写多个,用分号隔开,例如 notepad; chrome。
  • 进程:从当前正在运行的程序里选一个,填进「启用进程」。
  • 文件:浏览选出 .exe,用它的进程名填「启用进程」。
  • 应用:把上面的启用进程写进当前选中的库。

列表里每个库会显示监听状态、启用进程等信息。

底部是 全局运行(精度、极限核心掩码)和 监听(监听此库 / 停止所选 / 全部停止),见下面两小节。进入某个库之后,底部才会出现 导入 / 导出。

进入某个库之后

顶部会出现 返回管理、返回上级。里面按资源管理器方式工作:宏像文件,文件夹用来分类。

新建(下拉)

  • 宏文件:普通宏,有主序列,也可以再加条件。
  • 条件宏:橙色条目,只装一组条件(含触发后动作)。把它拖进普通宏的条件列表,或右键「插入到当前宏」,或在条件面板用「宏库 → 插入条件宏」。不要把条件宏拖进「触发后执行」。
  • 文件夹:分类用。

整理

  • 搜索宏名称、排序(自定义顺序 / 按字母 / 最近更新)、视图(详细信息 / 列表 / 小图标 / 大图标)。
  • Ctrl / Shift 多选,Ctrl+A 全选。拖动移动;复制、粘贴、删除、锁定走右键或快捷键。
  • 双击进入文件夹,「返回上级」或 Backspace 回到上一层。空白处右键可新建、粘贴、改视图、排序、刷新。
  • 右键还可:导出、导出该宏文件夹、锁定宏文件、条件宏的 插入到当前宏 / 编辑条件宏。

锁定

选中宏后,也可在序列顶部点「锁定编辑」。锁定后仍可运行、监听、导出,但不能改步骤、条件、JSON、名称、播放参数,也不能删除。解锁后才能继续改。

快捷键

F2 重命名,Delete 删除,Ctrl+A 全选,Ctrl+C / Ctrl+V 复制粘贴,Ctrl+D 复制宏,Ctrl+N 新建宏,Ctrl+Shift+N 新建文件夹,F5 刷新。

序列和条件列表支持 Delete、Ctrl+A / C / X / V;序列还支持 Ctrl+Z / Y 撤销还原。

底部:全局运行

对整台机器生效,不跟某一个宏绑定。

  • 精度模式
    • 基础:目标约 0.5ms。
    • 高性能:目标约 0.25ms。
    • 极限:目标约 0.1ms,优先走进程内 native 播放。
  • 极限核心掩码(绑核):只在极限模式生效。把播放线程钉在指定 CPU 逻辑处理器上,减少换核带来的抖动。普通使用请留空,由软件自动选核。若要自己填:编号从 0 开始,0x1 是 0 号核,0x2 是 1 号核,0x4 是 2 号核,多颗核把代码加起来(例如 0–4 号是 0x1F)。完整对照表、怎么看自己电脑有几颗核,以及 Windows 官方说明与参考文献,见 极限核心掩码说明。
  • 取色快捷键:软件核心全局宏,MacroStudio 开着就生效,默认 UpArrow。按下后复制当前鼠标坐标和像素 #RRGGBB,并在光标旁显示约 1.5 秒;该键不会传给游戏。与某个宏的触发键相同时会提示冲突,该宏不会进入监听。

这些数字是优化目标。Windows 用户态仍可能被系统抢占,出现偶发长尾延迟。含复杂控制流或 native 库不可用时,会自动退回可取消的托管播放。

底部:监听

  • 选中一个或多个宏库后,左侧按钮会变成 监听此库 / 监听选中 N 个:给这些库里已经设好触发键的宏打开热键待命。
  • 停止所选:只停当前选中库的监听。
  • 全部停止:停掉所有库的监听。
  • 同一触发键被多个宏抢用时会提示冲突,冲突的那些不会启动。
  • 库设了「启用进程」时:只有对应程序在最前面,这个库的热键才会响。

单个宏的「开始监听 / 停止监听」在右侧 播放控制 里。

底部:导入 / 导出

进入某个库之后才会出现。说明见「导入和导出」一节。转换器已内置,不必另开外部转换工具。


动作面板与主序列

主序列是宏触发后马上执行的步骤列表。在动作面板里点击即可在当前位置插入,也可以拖到序列里的目标位置。点序列里的步骤卡片,右侧会打开可视化属性。

序列顶部还可改宏 名称,并看到它来自哪个宏数据库。宏路径 形如 全局 > 文件夹 > 宏名,改完按回车,左侧宏数据库会跳到对应文件或文件夹。右侧还能看到 计划步骤 数和估算 时长。按钮:录制输入、锁定编辑、保存到库(写入当前宏数据库)、立即运行、停止。库里的地址栏同样可改,拖动宏文件时可用滚轮或把指针贴到列表上沿,滚到顶部文件夹再放下。

动作面板右上角可以改各类动作的文字色、图标色和底色。

可添加的动作

  • 延迟:固定毫秒,或随机范围。
  • 键盘功能:按下、抬起,或输入字符。
  • 鼠标按键:左 / 右 / 中 / 侧键 X1 X2,按下或抬起,可带坐标。
  • 鼠标移动:相对位移或绝对坐标。
  • 滚轮:垂直或水平。
  • 指定窗口到前台:从正在运行的窗口里选目标,按进程名,可选再匹配标题或标题正则。会恢复最小化窗口,并等到该进程真正成为前台后再继续。
  • OCR 获取文本:框选屏幕区域,按普通文字或正则从识别结果里抽出一段,写入剪贴板。可先「测试提取(不写剪贴板)」。下拉里有常用规则,例如全部文字、连续数字、过滤指定词后再留数字、UID 后面的内容、冒号或等号后面的内容。
  • OCR 文字点击:框选区域,按文字或正则找到文字框中心再点击。可指定第 N 个匹配、单击 / 双击 / 三击、坐标偏移,也可先「测试定位(不点击)」。
  • 文本功能:把内容贴进当前输入框(走剪贴板粘贴,相当于 Ctrl+V)。
  • 宏:调用宏数据库里的另一个宏。序列里点「进入子宏」可跳进去改被调用的宏,再用「返回上一宏」回来。
  • 循环:循环内部还可以继续拖步骤。
  • 注释:只作标记,播放时不执行。
  • 停止本层宏动作:退出当前这次宏调用,外层接着跑。
  • 停止本轮播放:丢掉本轮主序列剩下的步骤;「按下循环 / 按住循环」会进入下一轮(下一轮仍会走启动门闩)。
  • 停止本次播放:整次播放立刻结束,和外层循环一起停,效果接近再按一次触发键停止。

宏可以调用自己。放在序列末尾的自调用按可取消的尾调用处理,不会无限涨调用栈;再按触发键可以停。

录制输入

点序列顶部「录制输入」,先选模式:

  • 复刻录入:保留真实按键间隔。
  • 延迟录入:每个输入之间固定 5ms。
  • 无延迟录入:输入之间不加等待。

主窗口会最小化。只记录键盘按下 / 抬起、鼠标左中右及侧键、垂直 / 水平滚轮,不记录鼠标移动。按 Ctrl+Shift+F12 结束;这个停止组合键本身不会写进宏。录制期间会暂停全局触发监听,结束后自动恢复。锁定的宏不能录制。

条件里也可以录:先选中一条条件,再点「触发后执行」旁边的「录制输入」,结果只会进该条件的触发动作,不会进主序列。

编辑操作

序列支持多选、框选、拖动排序、拖进循环、复制剪切粘贴、删除、上移下移。把左侧宏拖进序列,会复制它的步骤。


条件序列

每个普通宏都可以带条件。播放开始后:

  1. 若有「启动前门闩」条件,先按列表顺序逐个等待画面条件成立;某条成立后可以先跑它自己的「触发后执行」,全部门闩通过后再开主序列。
  2. 主序列按步骤执行。
  3. 其余条件在各自允许的步骤范围或时间范围内监视;成立后执行该条的「触发后执行」。

普通条件至少要设「执行步骤范围」或「时间范围」之一;两端都空无法保存或运行。两者是 或 的关系:落在任一段里就会监视,中间空档不监视。步骤范围可选「(不限)」。选中步骤范围时,主序列里对应步骤会标红。

门闩条件从按下播放 / 触发就开始等,不必设步骤或时间范围。

条件怎么配

  • 名称:方便在列表里辨认。
  • 类型:常见是像素颜色或 OCR 文字。像素可取单点或框选区域,并设目标颜色和容差。OCR 可设期望文字,支持包含匹配或带超时的正则。
  • 触发动作执行方式
    • 同时执行:主序列继续跑,条件动作并行。
    • 暂停主时间线:主序列停住,等条件动作做完再从原处继续。
    • 启动前门闩:触发后先等这条(及列表里其他门闩)成立,再开主序列。
  • 时间范围:单位毫秒,起点和终点都可以留空表示这一侧不限制。计时基准三选一:
    • 按下播放:从按下触发 / 开始播放算。
    • 进入该条件:从上一条条件判定结束(含它的触发后动作)算起;第一条则从本轮主序列开始算。
    • 主序列本轮:从本轮主序列开始算;按下循环进入下一轮会重置。
  • 触发后执行:条件成立后要跑的动作,编辑方式和主序列相同。

条件宏

可以把当前宏里选中的条件(含触发后动作)「提取到宏库」,生成橙色条件宏;原宏里的条件仍会保留。之后在别的宏里插入同一份条件包即可。

播放时要注意的边界

  • 每条条件在一次播放迭代里最多触发一次;进入下一轮「播放 N 次」或循环时,会重新监听、重新判断。
  • 条件动作可以再调用其他宏。「停止本层宏动作」只退出那次嵌套调用,后面的条件动作仍会继续。
  • 「停止本轮播放」结束当前轮主序列,但外层循环还在;下一轮会新建条件监听。
  • 「停止本次播放」(直接写在条件动作里,或写在被调用的宏里)会停掉主序列和整个外层循环。
  • 在条件动作里调用「当前这个宏」时,只跑它的主序列,不会再套一层该宏自己的条件监听。若要做「画面出现 → 跑完条件动作 → 结束本轮 → 下一轮再判断」,请把宏设成按下循环或按住循环,条件选「暂停主时间线」,并在条件动作末尾放「停止本轮播放」。要彻底退出循环,再按触发键,或使用「停止本次播放」。

跨窗口取字再点击时,建议顺序是:指定聊天窗口到前台 → OCR 获取文本(正则抽到剪贴板)→ 指定游戏窗口到前台 → OCR 文字点击「粘贴 / 搜索」。不必再对消息双击或发 Ctrl+C。「指定窗口到前台」确认成功后才会走下一步,不依赖 Alt+Tab 的窗口顺序。


播放控制

先在宏数据库里选中一个宏,再在播放控制里设置。

播放模式

  • 播放 N 次:触发后跑指定次数,默认 1。
  • 按下循环:按一次开始循环,再按一次停止。
  • 按住循环:按住触发键时循环,松开停止。

触发键

点「捕获」,然后按下要用来启动宏的键或组合键。支持主键盘、数字小键盘(开或关 Num Lock 都按物理小键盘识别)、符号键、F1–F24、Ctrl / Alt / Shift / Win,以及标准鼠标 1–5 键(左、右、中、侧键)。

游戏鼠标第 6 键及以后,Windows 标准消息通常识别不到。请在鼠标驱动里映射成 F13–F24,再捕获为触发键。

某个宏库要限制「只在某某程序前台时才触发」,请到宏数据库管理页给该库填 启用进程,不要在播放控制里找进程筛选。

监听与运行

  • 开始监听 / 停止监听:只针对当前这个宏。开始前必须先有触发键。
  • 立即运行 / 停止:在序列顶栏也可以点,不按热键直接播或停下。
  • 要一次监听整个库,用宏数据库底部的 监听此库。
  • 标题栏 暂停监听 会暂时关掉宏触发热键,取色快捷键仍可用。

宏没反应时,依次检查:有没有触发键、播放模式和次数、所在库的「启用进程」是否太严、这个宏或这个库有没有开始监听、标题栏是不是还停在「已暂停监听」。


导入和导出

入口在宏数据库面板最下方。进入某个库后,也可对选中的宏或文件夹用右键导出。

导入:支持 MacroHID .mcrx、MacroConverter XML、雷云 / Razer Synapse XML、Lua / Logitech Lua、XMouse、按键精灵 / QMacro、GIMacros JSON、耕地机 .txt。文件框可多选。耕地机坐标按 0–65535 虚拟桌面换算成本机像素;tpc 会展开为选点点击加常见传送确认点击。.mcrx 的主宏和子宏会一起导入,并重映射「调用宏」引用。雷云 XML 可同时选主宏和子宏,或把它们放在同一目录,程序会按 GUID 先导入子宏,再在主宏里保留嵌套调用。失败时会弹出文件名、行列、原因和原文;批量导入会继续处理其余文件并汇总失败项。

导出:选中宏或文件夹后点导出,按向导选格式。分享本软件宏时优先用 MacroHID MCRX。多选宏会导出到同一目录,夹外依赖写到「依赖子宏」。导出文件夹可选两个子文件夹或 ZIP,会带上文件夹内宏和依赖。把「宏文件夹 + 依赖子宏」一起发给别人即可。


MCRX JSON

支持用 // 写整行或行尾注释,读取时自动跳过注释内容;字符串内的 //(例如网址)会正常保留。示例:

{
  "name": "带注释的宏",
  "steps": [
    // 等待一秒
    { "type": "wait", "ms": 1000 } // 行尾也能写说明
  ]
}

注释不会成为动作。保存、导出或通过可视化编辑重新生成 JSON 时,注释不会保留。

需要精细改结构时,打开 MCRX JSON 面板。改完后,合法 JSON 会立刻刷新主序列和条件序列;不合法时保留你正在改的内容,并显示错误,不会把已有序列冲掉。


使用边界

MacroHID 不会绕过 Windows 安全边界。安全桌面、UAC 弹窗、反作弊保护、受保护进程、系统级输入隔离都不支持。目标程序是管理员权限时,请同样以管理员启动 MacroStudio。

仅用于你有权操作的本机环境。

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages