- 新增 wyhkm.dll 硬件盒子 COM 接口封装,支持键盘鼠标控制 - 修复 game_state_config.json 中 scan_region_width 过小导致截图越界的问题 - 添加鼠标路径录制器、硬件测试脚本等工具 - 更新多项配置默认值 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
153 lines
9.1 KiB
HTML
153 lines
9.1 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
|
||
<title>HKMSetMode</title>
|
||
<link rel="stylesheet" type="text/css" href="css/help.css">
|
||
</head>
|
||
<body>
|
||
<table width="100%" border="0" cellpadding="0" cellspacing="1" class="ts">
|
||
<tr>
|
||
<th width="50">名称</th>
|
||
<td class="name">HKMSetMode 设置模式</td>
|
||
</tr>
|
||
<tr>
|
||
<th>功能</th>
|
||
<td>设置无涯键鼠盒子的工作模式,只对当前的设备对象有效。</td>
|
||
</tr>
|
||
<tr>
|
||
<th>参数</th>
|
||
<td class="canshu">参数1 设备对象:无类型指针。使用<a href="HKMOpen.html">HKMOpen</a>可以创建它。<br />
|
||
参数2 属性:无符号32位整型数。<br />
|
||
参数3 模式:无符号32位整型数。<br />
|
||
<table width="568" border="1" cellpadding="0" cellspacing="0">
|
||
<tr>
|
||
<th width="39" scope="col"><span class="thf">属性</span></th>
|
||
<th width="240" scope="col"><span class="thf">属性说明</span></th>
|
||
<th width="39" scope="col"><span class="thf">模式</span></th>
|
||
<th width="240" scope="col"><span class="thf">模式说明</span></th>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="6">2</td>
|
||
<td rowspan="6">鼠标移动的方式,0是仿真相对鼠标移动(默认模式),可通过一个或多个值进行选择,同时选择多个值用或运算进行组合。有关函数:<a href="HKMMoveTo.html">HKMMoveTo</a>、<a href="HKMMoveR.html">HKMMoveR</a>、<a href="HKMMoveR2.html">HKMMoveR2</a>。<a href="../QA/鼠标移动模式如何设置.html">鼠标移动模式常用值介绍</a>。</td>
|
||
<td>1</td>
|
||
<td>快速移动,只追求鼠标移动速度,不模仿手动操纵鼠标的移动方式</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2</td>
|
||
<td>绝对鼠标移动,通常物理鼠标只有相对移动,这个是绝对移动,绝对移动只能在主显示器内移动,使用后HKMMoveTo和HKMMoveR2以绝对移动方式进行,需要无涯键鼠盒子开启“绝对鼠标”模式或者“相对鼠标+绝对鼠标”模式。注意:HKMMoveTo没在这里设置绝对鼠标移动也能用相对鼠标实现绝对移动,HKMMoveR2在这里设置绝对鼠标移动后会用绝对鼠标实现相对移动。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>4</td>
|
||
<td>基础移动模式,移动到指定坐标只能在鼠标没使用“提高指针精确度”且“选择指针移动速度”在中间(物理鼠标相对移动坐标和屏幕坐标的比例是1:1),win10的Dpi是100%时使用,移动过程中不会修正其它鼠标移动的影响,优点是速度快些。使用绝对鼠标移动时无效,对HKMMoveR无效。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>0</td>
|
||
<td>变速模式,开始加速,结束减速。使用快速移动时无效。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>8</td>
|
||
<td>匀速模式,无加减速,距离短时会降低速度。使用快速移动时无效,对于HKMMoveTo和HKMMoveR2在绝对鼠标移动和基础移动模式都没使用时无效。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>16</td>
|
||
<td>定速模式,无加减速,距离短时不降低速度。使用快速移动时无效,对于HKMMoveTo和HKMMoveR2在绝对鼠标移动和基础移动模式都没使用时无效。</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2">3</td>
|
||
<td rowspan="2">鼠标滚轮滚动方式,有关函数:<a href="HKMMouseWheel.html">HKMMouseWheel</a></td>
|
||
<td>0</td>
|
||
<td>仿真滚动,模仿手动操作鼠标滚轮的方式,速度较慢(默认模式)。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>快速滚动,只追求鼠标滚轮滚动速度,不模仿手动操纵鼠标滚轮的方式。</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="5">4</td>
|
||
<td rowspan="5">输出字符串编码,不同窗口接受的字符串编码不同,选择错了会收到乱码,有关函数:<a href="HKMOutputString.html">HKMOutputString</a></td>
|
||
<td>0</td>
|
||
<td>输出ANSI字符串(默认模式)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>输出UNICODE字符串</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2</td>
|
||
<td>输出ANSI字符串,与模式0的差异是:在输出半角数字、字母和部分字符时,和手动输入一样,速度更快,但更易受键盘或输入法干扰。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3</td>
|
||
<td>输出UNICODE字符串,与模式1的差异是:在输出半角数字、字母和部分字符时,和手动输入一样,速度更快,但更易受键盘或输入法干扰。</td>
|
||
</tr>
|
||
<tr>
|
||
<td>4</td>
|
||
<td>使用剪贴板粘贴输出字符串。优点是输出字符多时速度更快且不受输入法影响,缺点是会改写剪贴板的内容和不支持虚拟机外操作虚拟机内。</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2">5</td>
|
||
<td rowspan="2">键盘鼠标同步方式,同步是等待盒子的数据被电脑硬件接收,但不代表系统已经处理了该数据,有时系统繁忙,电脑硬件接收到数据与系统处理该数据之间有时间差,一般这个时间较短,多数情况不到1毫秒。0是全部同步(默认模式),异步可通过一个或多个值进行选择,同时选择多个值用或运算进行组合。有关函数:<a href="HKMKeyPress.html">HKMKeyPress</a>、<a href="HKMKeyDown.html">HKMKeyDown</a>、<a href="HKMKeyUp.html">HKMKeyUp</a>、<a href="HKMLeftClick.html">HKMLeftClick</a>、<a href="HKMRightClick.html">HKMRightClick</a>、<a href="HKMMiddleClick.html">HKMMiddleClick</a>、<a href="HKMXBtn1Click.html">HKMXBtn1Click</a>、<a href="HKMXBtn2Click.html">HKMXBtn2Click</a>、<a href="HKMLeftDoubleClick.html">HKMLeftDoubleClick</a>、<a href="HKMRightDoubleClick.html">HKMRightDoubleClick</a>、<a href="HKMMiddleDoubleClick.html">HKMMiddleDoubleClick</a>、<a href="HKMXBtn1DoubleClick.html">HKMXBtn1DoubleClick</a>、<a href="HKMXBtn2DoubleClick.html">HKMXBtn2DoubleClick</a>、<a href="HKMLeftDown.html">HKMLeftDown</a>、<a href="HKMRightDown.html">HKMRightDown</a>、<a href="HKMMiddleDown.html">HKMMiddleDown</a>、<a href="HKMXBtn1Down.html">HKMXBtn1Down</a>、<a href="HKMXBtn2Down.html">HKMXBtn2Down</a>、<a href="HKMLeftUp.html">HKMLeftUp</a>、<a href="HKMRightUp.html">HKMRightUp</a>、<a href="HKMMiddleUp.html">HKMMiddleUp</a>、<a href="HKMXBtn1Up.html">HKMXBtn1Up</a>、<a href="HKMXBtn2Up.html">HKMXBtn2Up</a>、<a href="HKMMoveRP.html">HKMMoveRP</a>、<a href="HKMMouseWheelP.html">HKMMouseWheelP</a>、<a href="HKMOutputString.html">HKMOutputString</a></td>
|
||
<td>1</td>
|
||
<td>键盘异步,不等待键盘动作完成直接返回</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2</td>
|
||
<td>鼠标异步,不等待鼠标动作完成直接返回</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2">6</td>
|
||
<td rowspan="2">随机延时的概率分布方式。有关函数:<a href="HKMDelayRnd.html">HKMDelayRnd</a>、<a href="HKMKeyPress.html">HKMKeyPress</a>、<a href="HKMLeftClick.html">HKMLeftClick</a>、<a href="HKMRightClick.html">HKMRightClick</a>、<a href="HKMMiddleClick.html">HKMMiddleClick</a>、<a href="HKMXBtn1Click.html">HKMXBtn1Click</a>、<a href="HKMXBtn2Click.html">HKMXBtn2Click</a>、<a href="HKMLeftDoubleClick.html">HKMLeftDoubleClick</a>、<a href="HKMRightDoubleClick.html">HKMRightDoubleClick</a>、<a href="HKMMiddleDoubleClick.html">HKMMiddleDoubleClick</a>、<a href="HKMXBtn1DoubleClick.html">HKMXBtn1DoubleClick</a>、<a href="HKMXBtn2DoubleClick.html">HKMXBtn2DoubleClick</a>、<a href="HKMOutputString.html">HKMOutputString</a></td>
|
||
<td>0</td>
|
||
<td>延时随机均匀分布,延时值的概率相同(默认模式)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>延时随机偏小分布,延时值越小,概率越高,最大值的概率接近0</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2">7</td>
|
||
<td rowspan="2">延时方式。有关函数:<a href="HKMDelayRnd.html">HKMDelayRnd</a>、<a href="HKMKeyPress.html">HKMKeyPress</a>、<a href="HKMLeftClick.html">HKMLeftClick</a>、<a href="HKMRightClick.html">HKMRightClick</a>、<a href="HKMMiddleClick.html">HKMMiddleClick</a>、<a href="HKMXBtn1Click.html">HKMXBtn1Click</a>、<a href="HKMXBtn2Click.html">HKMXBtn2Click</a>、<a href="HKMLeftDoubleClick.html">HKMLeftDoubleClick</a>、<a href="HKMRightDoubleClick.html">HKMRightDoubleClick</a>、<a href="HKMMiddleDoubleClick.html">HKMMiddleDoubleClick</a>、<a href="HKMXBtn1DoubleClick.html">HKMXBtn1DoubleClick</a>、<a href="HKMXBtn2DoubleClick.html">HKMXBtn2DoubleClick</a>、<a href="HKMOutputString.html">HKMOutputString</a></td>
|
||
<td>0</td>
|
||
<td>不处理窗口消息(默认模式)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>处理窗口消息</td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2">32</td>
|
||
<td rowspan="2">函数参数和返回值中的字符串类型,用于解决有的编程工具对Unicode字符串支持不好的问题。有关函数:<a href="HKMGetDevString.html">HKMGetDevString</a>、<a href="HKMKeyPress.html">HKMKeyPress</a>、<a href="HKMKeyDown.html">HKMKeyDown</a>、<a href="HKMKeyUp.html">HKMKeyUp</a>、<a href="HKMOutputString.html">HKMOutputString</a>、<a href="HKMVerifyUserData.html">HKMVerifyUserData</a>、<a href="HKMVerifyUserData2.html">HKMVerifyUserData2</a></td>
|
||
<td>0</td>
|
||
<td>函数的字符串参数使用Unicode编码(默认模式)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>函数的字符串参数使用Ansi编码</td>
|
||
</tr>
|
||
</table></td>
|
||
</tr>
|
||
<tr>
|
||
<th>返回值</th>
|
||
<td class="fanhui">布尔值。成功返回TRUE,失败返回FALSE。</td>
|
||
</tr>
|
||
<tr>
|
||
<th>C语言<br />例子</th>
|
||
<td class="lizi">DWORD dwDevId;<br />
|
||
LPVOID lpDev;<br />
|
||
dwDevId=HKMSearchDevice(0x1234,0xABCD,0);<br />
|
||
if(dwDevId==0xFFFFFFFF)<br />
|
||
{<br /> printf("未找到无涯键鼠盒子\n");<br /> return 0;<br />
|
||
}<br />
|
||
lpDev=HKMOpen(dwDevId,0);<br />
|
||
if(lpDev==NULL)<br />
|
||
{<br />
|
||
printf("打开无涯键鼠盒子失败\n");<br />
|
||
return 0;<br />
|
||
}<br />
|
||
HKMSetMode(lpDev,2,1);<br />
|
||
HKMClose(lpDev);</td>
|
||
</tr>
|
||
</table>
|
||
</body>
|
||
</html> |