名称 HKMSetMode 设置模式
功能 设置无涯键鼠盒子的工作模式,只对当前的设备对象有效。
参数 参数1 设备对象:无类型指针。使用HKMOpen可以创建它。
参数2 属性:无符号32位整型数。
参数3 模式:无符号32位整型数。
属性 属性说明 模式 模式说明
2 鼠标移动的方式,0是仿真相对鼠标移动(默认模式),可通过一个或多个值进行选择,同时选择多个值用或运算进行组合。有关函数:HKMMoveToHKMMoveRHKMMoveR2鼠标移动模式常用值介绍 1 快速移动,只追求鼠标移动速度,不模仿手动操纵鼠标的移动方式
2 绝对鼠标移动,通常物理鼠标只有相对移动,这个是绝对移动,绝对移动只能在主显示器内移动,使用后HKMMoveTo和HKMMoveR2以绝对移动方式进行,需要无涯键鼠盒子开启“绝对鼠标”模式或者“相对鼠标+绝对鼠标”模式。注意:HKMMoveTo没在这里设置绝对鼠标移动也能用相对鼠标实现绝对移动,HKMMoveR2在这里设置绝对鼠标移动后会用绝对鼠标实现相对移动。
4 基础移动模式,移动到指定坐标只能在鼠标没使用“提高指针精确度”且“选择指针移动速度”在中间(物理鼠标相对移动坐标和屏幕坐标的比例是1:1),win10的Dpi是100%时使用,移动过程中不会修正其它鼠标移动的影响,优点是速度快些。使用绝对鼠标移动时无效,对HKMMoveR无效。
0 变速模式,开始加速,结束减速。使用快速移动时无效。
8 匀速模式,无加减速,距离短时会降低速度。使用快速移动时无效,对于HKMMoveTo和HKMMoveR2在绝对鼠标移动和基础移动模式都没使用时无效。
16 定速模式,无加减速,距离短时不降低速度。使用快速移动时无效,对于HKMMoveTo和HKMMoveR2在绝对鼠标移动和基础移动模式都没使用时无效。
3 鼠标滚轮滚动方式,有关函数:HKMMouseWheel 0 仿真滚动,模仿手动操作鼠标滚轮的方式,速度较慢(默认模式)。
1 快速滚动,只追求鼠标滚轮滚动速度,不模仿手动操纵鼠标滚轮的方式。
4 输出字符串编码,不同窗口接受的字符串编码不同,选择错了会收到乱码,有关函数:HKMOutputString 0 输出ANSI字符串(默认模式)
1 输出UNICODE字符串
2 输出ANSI字符串,与模式0的差异是:在输出半角数字、字母和部分字符时,和手动输入一样,速度更快,但更易受键盘或输入法干扰。
3 输出UNICODE字符串,与模式1的差异是:在输出半角数字、字母和部分字符时,和手动输入一样,速度更快,但更易受键盘或输入法干扰。
4 使用剪贴板粘贴输出字符串。优点是输出字符多时速度更快且不受输入法影响,缺点是会改写剪贴板的内容和不支持虚拟机外操作虚拟机内。
5 键盘鼠标同步方式,同步是等待盒子的数据被电脑硬件接收,但不代表系统已经处理了该数据,有时系统繁忙,电脑硬件接收到数据与系统处理该数据之间有时间差,一般这个时间较短,多数情况不到1毫秒。0是全部同步(默认模式),异步可通过一个或多个值进行选择,同时选择多个值用或运算进行组合。有关函数:HKMKeyPressHKMKeyDownHKMKeyUpHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMLeftDownHKMRightDownHKMMiddleDownHKMXBtn1DownHKMXBtn2DownHKMLeftUpHKMRightUpHKMMiddleUpHKMXBtn1UpHKMXBtn2UpHKMMoveRPHKMMouseWheelPHKMOutputString 1 键盘异步,不等待键盘动作完成直接返回
2 鼠标异步,不等待鼠标动作完成直接返回
6 随机延时的概率分布方式。有关函数:HKMDelayRndHKMKeyPressHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMOutputString 0 延时随机均匀分布,延时值的概率相同(默认模式)
1 延时随机偏小分布,延时值越小,概率越高,最大值的概率接近0
7 延时方式。有关函数:HKMDelayRndHKMKeyPressHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMOutputString 0 不处理窗口消息(默认模式)
1 处理窗口消息
32 函数参数和返回值中的字符串类型,用于解决有的编程工具对Unicode字符串支持不好的问题。有关函数:HKMGetDevStringHKMKeyPressHKMKeyDownHKMKeyUpHKMOutputStringHKMVerifyUserDataHKMVerifyUserData2 0 函数的字符串参数使用Unicode编码(默认模式)
1 函数的字符串参数使用Ansi编码
返回值 布尔值。成功返回TRUE,失败返回FALSE。
C语言
例子
DWORD dwDevId;
LPVOID lpDev;
dwDevId=HKMSearchDevice(0x1234,0xABCD,0);
if(dwDevId==0xFFFFFFFF)
{
    printf("未找到无涯键鼠盒子\n");
    return 0;
}
lpDev=HKMOpen(dwDevId,0);
if(lpDev==NULL)
{
    printf("打开无涯键鼠盒子失败\n");
    return 0;
}
HKMSetMode(lpDev,2,1);
HKMClose(lpDev);