Files
wow/ddl/chm_output/standard_fun/HKMSetMode.html
王鹏 33dc741fd9 add 硬件控制模块 (hardware_control.py) 并修复游戏状态扫描区域宽度
- 新增 wyhkm.dll 硬件盒子 COM 接口封装,支持键盘鼠标控制
- 修复 game_state_config.json 中 scan_region_width 过小导致截图越界的问题
- 添加鼠标路径录制器、硬件测试脚本等工具
- 更新多项配置默认值

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 12:15:00 +08:00

153 lines
9.1 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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以绝对移动方式进行需要无涯键鼠盒子开启&ldquo;绝对鼠标&rdquo;模式或者&ldquo;相对鼠标+绝对鼠标&rdquo;模式。注意HKMMoveTo没在这里设置绝对鼠标移动也能用相对鼠标实现绝对移动HKMMoveR2在这里设置绝对鼠标移动后会用绝对鼠标实现相对移动。</td>
</tr>
<tr>
<td>4</td>
<td>基础移动模式,移动到指定坐标只能在鼠标没使用&ldquo;提高指针精确度&rdquo;&ldquo;选择指针移动速度&rdquo;在中间物理鼠标相对移动坐标和屏幕坐标的比例是1:1win10的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 /> &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;未找到无涯键鼠盒子\n&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}<br />
lpDev=HKMOpen(dwDevId,0);<br />
if(lpDev==NULL)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;打开无涯键鼠盒子失败\n&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}<br />
HKMSetMode(lpDev,2,1);<br />
HKMClose(lpDev);</td>
</tr>
</table>
</body>
</html>