跳到主要内容

💰 SetSimMode 设置键鼠模拟方式

🎯功能

设置前台键鼠的模拟方式, 解决部分移动点击无效的问题

驱动支持系统版本号

win7/win8/win8.1/win10(10240)/win10(10586)/win10(14393)/win10(15063)/win10(16299)/win10(17134)/win10(17763)/win10(18362)/win10(18363)/win10(19041)/win10(19042)/win10(19043)/win10(19045)/win11(22000)/win11(22621)/win11(22631)

不支持所有的预览版本,仅仅支持正式版本.

除了模式3,其他模式同时支持32位系统和64位系统.

📜语法

结果 = dm.SetSimMode(模式)

📥参数

参数数据类型解释
模式整型数设置不同的模拟方式, 取值03, 详见下表
参数(模式)取值如下
模式说明
0正常模式(默认模式)
1硬件模拟
2硬件模拟2(ps2)(仅仅支持标准的3键鼠标,即左键,右键,中键,带滚轮的鼠标,2键和5键等扩展鼠标不支持)
3硬件模拟3

📤返回

整型数, 1为成功, 其他值为失败, 详见下面表格

返回值说明如下
返回值说明
0插件没注册
-132位系统不支持
-2驱动释放失败
-3驱动加载失败.可能是权限不够. 参考UAC权限设置. 或者是被安全软件拦截. 如果是WIN10 1607之后的系统,出现这个错误,可参考这里
-10设置失败
-7系统版本不支持. 可以用winver命令查看系统内部版本号. 驱动只支持正式发布的版本,所有预览版本都不支持.
1成功

💡示例

dm.SetSimMode 1
// 一些其他代码
dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)
// 一些其他代码
dm.UnBindWindow

📘备注

除了模式0,其他方式需要加载驱动,所以调用进程必须有管理员权限,参考如何关闭UAC.

加载驱动时,必须让安全软件放行. 否则模拟无效.

硬件模拟1,没有对键鼠的接口类型有任何限制(PS/2 USB接口)都可以模拟,甚至不插任何键鼠设备都可以模拟.

硬件模拟2(ps2),模式下的键盘基本是正常的,但鼠标兼容性很差,建议只适用此模式的键盘. 鼠标可以使用别的模式. 键盘和鼠标不要求必须插入真实的ps2设备.

硬件模拟3, 设置以后,必须手动按下需要模拟的键盘和鼠标,否则会卡住, 直到按下为止. 此后,再次设置不需要重新按下键盘鼠标,直到系统重启. 这个模拟要求被指定的键盘和鼠标不可以中途插拔,会造成模拟失效. 另外, 用模拟3后,最好不要调用MoveTo或者MoveToE接口,改为用MoveR自己实现MoveTo或者MoveToEx,否则可能会造成鼠标移动到屏幕左上角的问题.

此接口仅对本对象生效,实际上所有的接口都仅仅对本对象生效,除了DmGuard是全局的.