add 硬件控制模块 (hardware_control.py) 并修复游戏状态扫描区域宽度

- 新增 wyhkm.dll 硬件盒子 COM 接口封装,支持键盘鼠标控制
- 修复 game_state_config.json 中 scan_region_width 过小导致截图越界的问题
- 添加鼠标路径录制器、硬件测试脚本等工具
- 更新多项配置默认值

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
王鹏
2026-04-15 12:15:00 +08:00
parent b4de5278ed
commit 33dc741fd9
203 changed files with 12197 additions and 247 deletions

View File

@@ -0,0 +1,42 @@
<!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>HKMGetDataCount</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"><EFBFBD><EFBFBD><EFBFBD><EFBFBD></th>
<td class="name">HKMGetDataCount <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td>
</tr>
<tr>
<th><EFBFBD><EFBFBD><EFBFBD><EFBFBD></th>
<td><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><a href="HKMSearchDeviceAll.html">HKMSearchDeviceAll</a><EFBFBD><EFBFBD><a href="HKMCheckPressedKeys.html">HKMCheckPressedKeys</a><EFBFBD><EFBFBD></td>
</tr>
<tr>
<th><EFBFBD><EFBFBD><EFBFBD><EFBFBD></th>
<td class="canshu"><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʹ<EFBFBD><EFBFBD>HKMSearchDeviceAll<EFBFBD><EFBFBD>HKMCheckPressedKeys<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></td>
</tr>
<tr>
<th><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ</th>
<td class="fanhui"><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD>0xFFFFFFFF<EFBFBD><EFBFBD></td>
</tr>
<tr>
<th>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><br /><EFBFBD><EFBFBD><EFBFBD><EFBFBD></th>
<td class="lizi">LPDWORD pDevId;<br />
DWORD dwCount,i;<br />
pDevId=HKMSearchDeviceAll(0x1234,0xABCD,0);<br />
if(pDevId==NULL)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ʧ<EFBFBD><EFBFBD>\n&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
}<br />
dwCount=HKMGetDataCount(pDevId);<br />
printf(&quot;<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%u\n&quot;,dwCount);<br />
HKMFreeData(pDevId);</td>
</tr>
</table>
</body>
</html>