键鼠助手 4.0 资源汇总:主程序 / 宏编程文档 / SDK 与示例工程 / 常用工具下载
-
键鼠助手 4.0 的全部资源集中在这里:主程序(Windows v4.50)与驱动程序(缺 CH375DLL64.DLL 时装的那个)、Lua 宏编程文档、C/C++ 二次开发头文件与两个 VS2019 示例工程,
以及调试工具和常用第三方工具。每个条目都写清了适用平台、包内内容和注意事项,按需下载即可。有任何问题欢迎在本帖下回复。装机前的提醒、驱动报错、固件信息读不出、硬件宏保存失败等常见问题,见另一篇:键鼠助手 4.0 使用需知:装机前请先看这篇
合规提示:本软件及配套工具仅供提升效率的合法自动化用途。请遵守中国法律法规与相关软件、平台的使用条款,
不得用于游戏外挂、破坏公平性、规避安全机制或侵犯他人权益的场景。下载清单
# 分类 文件名 平台 大小 1 主程序 KMA_Software_v4.50_release.zipWindows 64 位 53.55 MiB 2 驱动程序 CH372_DRIVER.exeWindows(32 / 64 位) 346.23 KiB 3 说明文档 键鼠助手软件宏编程文档.pdf全平台通用 544.87 KiB 4 二次开发 · 头文件 kma_api .h跨平台(C++) 8.55 KiB 5 二次开发 · 头文件 kma_api_c_wrapper.h跨平台(纯 C 接口) 4.10 KiB 6 二次开发 · 示例工程 kma_api_demo_vs2019.zipWindows / Visual Studio 2019 79.50 MiB 7 二次开发 · 示例工程 kma_demo_vs2019_UI_20250919.zipWindows / Visual Studio 2019 105.99 MiB 8 调试工具 move_algorithm.exeWindows(命令行) 178.32 KiB 9 调试工具 键鼠测试.html任意现代浏览器 8.23 KiB 10 第三方工具 Wireshark-4.2.3-x64.exeWindows 64 位 82.37 MiB 11 第三方工具 WCHISPTool_Setup (1).exeWindows 19.42 MiB 12 第三方工具 向日葵_15.3.0.62055_x64.exeWindows 64 位 43.66 MiB 13 第三方工具 大漠综合工具.zipWindows 8.66 MiB 主程序
KMA_Software_v4.50_release.zip
键鼠助手 4.0 的 Windows 完整发布包(KMA Software v4.50),解压即用。主程序是
键鼠助手4.exe,另有按键映射.exe与更新器updater.exe;包里同时带了 Qt 6 运行库、VC++ 运行库安装程序,以及做二次开发要用到的kma_api_x64_shared.dll/ 静态库 /kma_lua.lib/key_map.lib。- 版本:KMA Software v4.50,Windows 64 位解压即用(不需要安装)
- 主程序
键鼠助手4.exe:宏绑定、Lua 宏编辑、编译烧录、场景切换 - 附带工具:
按键映射.exe(按键重映射)、updater.exe(软件升级)、kma_api_test.exe(API 自检) - 二次开发件:
kma_api_x64_shared.dll+.lib(动态库,含导出 lib 与 exp)、kma_api_x64_static.lib(静态库)、kma_lua.lib、key_map.lib - 依赖件:
Qt6Core/Gui/Widgets/Network/Svg.dll、opengl32sw.dll、d3dcompiler_47.dll,以及platforms/、imageformats/、styles/、tls/等 Qt 插件子目录 tools/目录是打包、签名、生成 macOS 图标的脚本与 7z,普通用户无需理会
注意事项
- 解压后请整目录使用,不要只把 exe 单独拷出来 —— Qt 运行库必须与程序在同级目录,
platforms/、imageformats/这些插件子目录也要一起保留,否则启动即报错退出。 - 若提示缺少
VCRUNTIME140.dll、MSVCP140.dll,先运行包内的vc_redist.x64.exe安装 VC++ 运行库。 - 首次运行 Windows SmartScreen 可能拦截,点「更多信息 → 仍要运行」。
- 本包只有 64 位 Windows 版本;32 位系统不可用,macOS 请到「键鼠助手5.0」版块取 dmg 版本。
驱动程序
CH372_DRIVER.exe
沁恒 CH372 / CH375 系列 USB 芯片的驱动安装程序。第一次打开软件弹出「找不到 CH375DLL64.DLL」时,装它就好 —— 缺那个 DLL 说明驱动没装,跟主程序没关系统,也不必重装软件。
- 适用症状:首次运行 keyMap / 键鼠助手时提示「由于找不到 CH375DLL64.DLL,无法继续执行代码」
- 包内含动态库:
CH375DLL.dll(32 位)与CH375DLL64.dll(64 位) - 包内含驱动文件:
CH375WDM.INF、CH375WDM.SYS、CH375WDM.CAT、CH375W64.SYS、CH375M64.SYS - 安装程序由包里的
DRVSETUP64.exe驱动,按提示一路下一步即可 - 实为 WinRAR 自解压包(SFX),也可以直接解压后手动指定路径安装
注意事项
- 建议以管理员身份运行,否则可能写不进系统的驱动存储区。
- 装完重启一次 Windows 再打开主程序 —— 不重启有时仍认不到设备。
- 64 位系统用 64 位库
CH375DLL64.dll,32 位用CH375DLL.dll;报错说缺哪个就补哪个。 - 校验值 SHA256:
8B768DE015C0DF225337F6865041E969939525DBF24F9C5A9FDD1370027CA480(346.23 KiB),下载后可自行比对。 - 若 SmartScreen 拦截,点「更多信息 → 仍要运行」。
说明文档
键鼠助手软件宏编程文档.pdf
键鼠助手 Lua 宏编程的完整说明(18 页 PDF,Typora 导出)。前半部分是 Lua 编程简介:如何获取系统分辨率、Lua 事件驱动的两种写法(OnEvent 模式 / while 循环模式);后半部分是 函数说明,逐个列出宏脚本能调的全部函数,最后是附录 A。写宏之前建议先通读一遍。
- 编程简介:获取系统分辨率、事件驱动的 OnEvent 模式与 while 循环模式(两者不可混用)
- 控制与日志:
Sleep、OutputLogMessage、GetRunningTime、GetDate、ClearLog、OutputLCDMessage、ClearLCD - 键盘:
PressKey、ReleaseKey、PressAndReleaseKey、ReleaseAllKey、IsKeyPressed、IsModifierPressed、IsKeyLockOn、EnablePrimaryMouseButtonEvents - 鼠标:
PressMouseButton、ReleaseMouseButton、PressAndReleaseMouseButton、IsMouseButtonPressed、MoveMouseTo、MoveMouseRelative、MoveMouseWheel、GetMousePosition - 宏控制:
PlayMacro、AbortMacro - 找色找图:
FindPictureByOpenCv、FindColor、FindMultiColor、FindMultiColorT、GetColorRgb、GetColorNumber、IsColorSimilar
注意事项
- 本文档针对 4.0 版本的 Lua 接口撰写;5.0 起界面与函数有调整,请对照使用。
- PDF 18 页,带书签,可按目录跳转。
二次开发 · 头文件
kma_api .h
KMA SDK 的 C++ 主头文件。定义了两个枚举 ——
KeyCode(HID usage 键码:A~Z、数字行、F1~F24、方向键、小键盘、以及 224~231 的八个修饰键)和MouseButton(左 / 右 / 中 / 侧前 X2 / 侧后 X1),以及全部导出函数:初始化、设备状态、事件监听、键鼠模拟、场景切换、宏播放、数据烧录与回读。- 连接管理:
Kma_Init(可传连接状态回调)、Kma_DeInit、Kma_IsDeviceConnected - 设备信息:
Kma_GetUid(timeoutMs)取设备唯一标识(异步,需传等待毫秒,-1 为无限等待) - 事件监听:
Kma_SetKeyboardEventMonitor(标准 6 键无冲,8 字节报告)、Kma_SetMouseEventMonitor(4 字节:按键 / 保留 / 滚轮) - 键盘模拟:
Kma_PressKey、Kma_ReleaseKey、Kma_ClickKey、Kma_PressKeys(组合键)、Kma_ReleaseAllKeys、Kma_SendRawKeyEvent(裸报告) - 鼠标模拟:
Kma_PressMouseButton、Kma_ReleaseMouseButton、Kma_ClickMouseButton、Kma_MoveMouseRelative(±32767)、Kma_MoveMouseTo(0~65535 绝对坐标)、Kma_ScrollMouseWheel - 场景与宏:
Kma_SwitchScene(0~9,共 10 个场景)、Kma_QueryCurrentSceneIndex、Kma_PlayMacro、Kma_AbortMacro、Kma_IsMacroRunning - 固件数据:
Kma_BurnData、Kma_LoadData,两者都支持进度回调(当前帧 / 总帧数) - 跨平台导出宏:Windows 用
__declspec(dllexport),GCC/Clang 4+ 用 visibility 属性
注意事项
- 文件名点号前有一个空格:下载下来是
kma_api .h,而kma_api_c_wrapper.h里写的是#include "kma_api.h"—— 放进工程前请先改名为kma_api.h,否则编译报「找不到头文件」。 - 头文件顶部是完整的免责声明:本软件仅供提升效率的合法自动化用途,不得用于违反法律法规、破坏游戏公平性或规避安全机制的场景。
- 原文注明:连接状态以下的接口必须在设备连接成功后调用才有效,建议在
Kma_Init的回调里再去挂监听、发事件。 Kma_GetUid与Kma_QueryCurrentSceneIndex是异步取结果,务必传入合理的超时毫秒数,超时返回异常值。- 键值沿用 HID usage id:普通键
KeyCode::A起顺序递增,修饰键是 224(LEFT_CTRL)到 231(RIGHT_GUI),写死数字前请对照枚举。
kma_api_c_wrapper.h
KMA SDK 的 C 语言封装头文件,把 C++ 版里
std::function、std::vector、std::initializer_list这些无法跨语言直接调用的类型,一律换成函数指针 + 数据指针 + 长度的形式,函数统一加_C后缀并声明__stdcall。C、C#(P/Invoke)、Delphi、易语言等语言用它对接。- 五个回调类型:
ConnectStateCallback、KeyboardEventCallback、MouseEventCallback、ProgressCallback、DataCallback - 生命周期:
Kma_Init_C/Kma_Init_C2(回调)/Kma_DeInit_C/Kma_IsDeviceConnected_C(返回 int) - 键鼠模拟:
Kma_PressKey_C、Kma_ReleaseKey_C、Kma_ClickKey_C、Kma_ReleaseAllKeys_C、Kma_ClickMouseButton_C、Kma_MoveMouseRelative_C、Kma_MoveMouseTo_C、Kma_ScrollMouseWheel_C - 组合键:
Kma_PressKeys_C(const KeyCode *keys, int keySize)—— 数组 + 长度,替代 C++ 的初始化列表 - 原始数据:
Kma_SendRawKeyEvent_C(data, size)、Kma_BurnData_C(data, size, 进度回调)、Kma_LoadData_C(数据回调, 进度回调)
注意事项
- 同样依赖
kma_api.h:#include "kma_api.h",所以两个头文件要放同一目录并按上面说的改好名。 __stdcall在 64 位目标上会被 MSVC 忽略;跨语言声明时以 DLL 实际导出名为准,找不到入口就先用dumpbin /exports看一眼。- C++ 版
Kma_ClickKey(KeyCode key, int internal)的参数名拼作 internal,实际含义是按下与松开之间的毫秒间隔,别当成「内部标志」传 0/1。 Kma_IsMacroRunning_C返回 int,跨语言声明时不要写成 BOOL 或 bool 以外的宽类型。
二次开发 · 示例工程
kma_api_demo_vs2019.zip
VS2019 控制台示例工程,演示 SDK 的最小接入闭环:
Kma_Init里注册连接回调 → 回调内挂键盘 / 鼠标监听 → 主线程轮询Kma_IsDeviceConnected等上线 →Kma_GetUid(20)读设备 UID → 起异步任务做Kma_QueryCurrentSceneIndex+Kma_ClickKey+Kma_IsMacroRunning。源码里被注释掉的那一段完整覆盖了其余键鼠调用,解开就能逐个试用。- 工程文件:
kma_api_demo_vs2019.sln/.vcxproj,入口kma_api_demo_vs2019.cpp(约 2.5 KB,很短,适合当模板) - 随包带上
kma_api.h、kma_api.dll、kma_api.lib与调试版kma_api_d.lib,还有日志辅助头log.h x64/Debug/kma_api_demo_vs2019.exe是已编译产物- 示范了连接回调、事件监听的注册与取消(传 nullptr 即取消监听)、异步等待两类写法
注意事项
- 需要 Visual Studio 2019(v142 工具集)与 Windows x64 目标。
- 包里
.vs/与ipch/占了大部分体积(约 80 MB 中的绝大部分),只是为了让工程打开即用;想精简直接删掉这两个目录,源码本身只有几 KB。 - 拿到新机器建议先用 VS 重新生成一次再运行,避免本机缺 v142 的运行库导致 exe 启动即退出。
- 这是控制台示例,看不到界面;要看窗口化的按钮演示请用下面的
kma_demo_vs2019_UI包。
kma_demo_vs2019_UI_20250919.zip
带界面的示例工程(2025-09-19 版),Win32 对话框形式,把 SDK 的每个能力都做成了按钮和输入框 —— 不用写代码就能逐个验证硬件是否正常响应,排查问题时非常顺手。
- 连接区:
连接设备按钮 + 静态文本实时显示设备状态 - 键盘区:按下 / 释放 / 点击三个按钮,各自配输入框填键码,另有清屏按钮
- 鼠标区:左键 / 中键 / 右键 / 侧键1 / 侧键2 点击、滚轮,相对移动(X / Y)与绝对移动(X / Y)
- 数据区:
数据写入/数据读取,对应Kma_BurnData/Kma_LoadData,用于把配置烧进硬件再回读校验 - 监听开关:键盘事件、鼠标按键事件、鼠标移动三个复选框,勾选即开始把收到的报告打到日志区
- 含
x64/Release/kma_demo_vs2019.exe(已编译)、源码kma_demo_vs2019.cpp(约 13 KB)、资源文件.rc/.aps/resource.h/ 图标,以及kma_api.lib
注意事项
- 不想编译的话,直接跑
x64/Release/kma_demo_vs2019.exe就能用。 - 同样带
.vs/与ipch/,可以删掉;源码和资源加起来不到 1 MB。 - 「数据写入」是把配置真正烧进硬件(对应
Kma_BurnData),会覆盖原有内容;操作前确认设备已连接,拿不准就先点「数据读取」备份一份再写。 - 对话项目标平台 x64,VS2019 v142。
调试工具
move_algorithm.exe
鼠标 HID 报告解析 / 位移换算的测试工具,出自
hid-report-translater工程(MinGW 编译),用来验证「不同品牌鼠标上报的位移数据该怎么翻译」。包里能看到针对具体型号的适配实现:罗技 G203 / G402 / Light Speed 接收器、雷蛇 RZ01-0254、惠普 M1、EM 905pro、Acer(erazer)KN301 等;输出形如Move:[x:xx,y:xx],then delay:xx的位移 + 延时序列。- 解析 HID 报告描述符:
parse_report_descriptor、parse_usb_mouse、get_mouse_field_data - 按型号做位移换算:
make_mouse_translate、mouse_translate_usage_handler,每种鼠标一个.c实现 - 移动模拟与回调:
simulate_random_mouse_movement(随机移动压测)与on_receive_mouse_movement(收到位移即打印) - 另保留了一份旧解析器
old_mouse_parser与mouse_test可对照调试
注意事项
- 这是给开发调试用的命令行程序,不是面向普通用户的客户端:双击会一闪而过,请在 CMD 或 PowerShell 里运行。
- 输出的是 HID 报告里的相对位移量与延时,不是屏幕像素坐标,不要直接拿去当脚本里的绝对坐标。
- 需要目标鼠标在线并被正确枚举,才有数据可读。
键鼠测试.html
浏览器端的「极致事件捕获器 - Pro」,单文件网页,用来确认按键和鼠标到底有没有被系统收到、收到的键码是什么。日志按「时间 / 类型(KBD·MSE·SYS)/ 详情」三列滚动显示,最多保留 1000 行。
- 键盘:
e.code(物理位置)+e.key(实际字符)双显示,连续输入会标[连续重复],并记录中文输入法的 compositionstart - 鼠标:按下 / 松开 / 滚轮,区分左键、中键、右键、后退、前进,按下时附带坐标
- 可单独开关「键盘监听」和「鼠标监听」
Alt+C清空记录,焦点回到页面即恢复监控
注意事项
- 纯前端单文件,用浏览器打开即可,不联网、不落数据。
- 页面用 capture 阶段拦截并 preventDefault,部分默认行为(如 F5、Tab、空格)会被吃掉 —— 这是刻意的,方便观察按键本身。
- 窗口失焦时会盖一层遮罩提示监控已挂起,点页面任意位置恢复;按
F11全屏能拦到更多组合键。 - 系统级热键(Win+L、Alt+Tab 等)浏览器层面拿不到,看不到属正常。
- 它反映的是 DOM 层的事件,不是硬件 HID 报告;要验证盒子实际发出的数据请用上面两个工具。
第三方工具
Wireshark-4.2.3-x64.exe
Wireshark 4.2.3 官方安装包(Windows x64),网络协议分析器。放在这里主要不是为了抓网络,而是用它抓 USB HID 通信,核对键鼠盒子到底有没有把报告发出来、发出去的是什么数据。
- 版本 4.2.3,官方原版安装包,64 位
- 可分析 USB、TCP/UDP、蓝牙等多种通道
- 与上面的
move_algorithm.exe配合,能从协议层确认报告内容与实际产出的位移序列是否一致
注意事项
- 安装向导里要勾选 USBPcap 才能抓 USB(默认不勾),装完需要重启。
- 抓 USB 需要以管理员身份运行。
- 包体 82 MiB,安装过程较慢,属正常。
WCHISPTool_Setup (1).exe
沁恒微电子(WCH)的官方 ISP 下载工具安装包,用于给沁恒 CH 系列芯片(CH32x、CH5xx 等)通过串口或 USB 烧写 / 升级固件。手里硬件用的是沁恒芯片时,固件更新走这个工具。
- 沁恒官方原版安装程序
- 支持串口(UART)与 USB 两种下载方式
- 覆盖了沁恒 RISC-V 与 ARM Cortex-M 系列的主流型号
注意事项
- 文件名里的
(1)只是下载时自动加的重名后缀,安装后不影响使用,介意的话安装前自行改名。 - 使用前要在工具里选对自己的芯片型号和下载方式;型号选错会连不上或烧写失败。
- 如果目标不是沁恒芯片,这个工具用不上。
- 安装过程 Windows Defender SmartScreen 可能拦截,选「仍要运行」。
向日葵_15.3.0.62055_x64.exe
向日葵远程控制客户端安装包(版本 15.3.0.62055,上海贝锐信息科技股份有限公司),用于远程或无人值守访问另一台机器 —— 例如在你不在电脑旁时,远程跑上面的调试工具。
- 版本 15.3.0.62055,官方包,64 位
- 远控客户端,安装绑定被控主机后可用手机 / 另一台电脑连过来
注意事项
- 第三方软件,与键鼠助手本身没有依赖关系,用不上可以不装。
- 这里提供的是固定历史版本,不是最新版;要新版请到官网下载。
- 装之前建议到官网核对安装包哈希。远控软件权限很高,只在自己信任的机器上安装。
大漠综合工具.zip
大漠插件 7.2119 的综合工具包。根目录是
dmcjwapjb7.2119/7.2119/,里面除了插件本体dm.dll,还有大漠综合工具.exe、大漠后台系统.exe、大漠类库生成工具v23.0.exe、获取本机机器码.exe、注册/卸载两个 bat、RegDll.dll、大漠插件接口说明.chm、一个答题器示例工程(含 VC++ 源码),以及「不注册调用 dm.dll 的方法 v11.0」(DmReg.dll+ 说明)。大漠插件接口说明.chm是完整的接口文档,用之前先看它大漠综合工具.exe是可视化辅助工具,另有一个「隐藏路径」版本大漠类库生成工具v23.0.exe可按语言生成调用封装答题器/目录是完整的示例工程:Get_Question / Put_Question 源码 + 编译好的 exe + 使用说明获取本机机器码.exe用来取机器码(大漠插件绑定需要)
注意事项
- 第三方工具包,使用请遵守大漠自身的授权条款。
- 注册 / 卸载插件要用管理员身份运行
注册大漠插件到系统.bat/从系统里卸载大漠插件.bat。 - 压缩包里中文文件名没有打 UTF-8 标志位(实际是 GBK),Windows 资源管理器能正常显示;在其他系统或用第三方解压工具时可能出现文件名乱码,文件本身不受影响。
- 用途请遵守键鼠助手免责声明:不得用于违反法律法规、破坏游戏公平性或规避软件安全机制的场景。
上手顺序推荐
- 先看 Lua 宏编程文档,了解 OnEvent / while 循环两种写法和全部可用函数;
- 下载主程序
KMA_Software_v4.50_release.zip,整目录解压后双击键鼠助手4.exe; - 写脚本时可用 键鼠测试.html 确认按键是否被正确识别,需要抓协议层再上 Wireshark;
- 要在自己的程序里控制设备,就看 kma_api.h / kma_api_c_wrapper.h,配合两个示例工程改;
- 确认可用后再把宏烧录进硬件。