- 新增 wyhkm.dll 硬件盒子 COM 接口封装,支持键盘鼠标控制 - 修复 game_state_config.json 中 scan_region_width 过小导致截图越界的问题 - 添加鼠标路径录制器、硬件测试脚本等工具 - 更新多项配置默认值 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
import sys
|
|
import os
|
|
import ctypes
|
|
from ctypes import *
|
|
import win32com.client
|
|
import time
|
|
|
|
# 路径配置
|
|
dll_path = os.path.abspath("ddl/wyhkm.dll")
|
|
print(f"测试 DLL: {dll_path}")
|
|
|
|
# 1. 注册并创建对象
|
|
try:
|
|
hkmdll = windll.LoadLibrary(dll_path)
|
|
hkmdll.DllInstall.argtypes = (c_long, c_longlong)
|
|
if hkmdll.DllInstall(1, 2) < 0:
|
|
print("注册失败!")
|
|
sys.exit(0)
|
|
|
|
wyhkm = win32com.client.Dispatch("wyp.hkm")
|
|
print(f"硬件对象已创建,版本: {hex(wyhkm.GetVersion())}")
|
|
except Exception as e:
|
|
print(f"初始化异常: {e}")
|
|
sys.exit(0)
|
|
|
|
# 2. 打开设备并配置模式 (使用已验证的 Index 0)
|
|
dev_id = wyhkm.SearchDevice(0x2612, 0x1701, 0)
|
|
if dev_id == -1 or not wyhkm.Open(dev_id, 0):
|
|
print("无法打开硬件设备")
|
|
sys.exit(0)
|
|
|
|
# 关键模式设置
|
|
wyhkm.SetMode(1, 1) # 键盘增强模式
|
|
wyhkm.SetMode(2, 1) # 鼠标仿真模式
|
|
wyhkm.SetKeyInterval(30, 50) # 设置合理的按键间隔
|
|
|
|
print(f"\n--- 硬件就绪 (ID: {dev_id}) ---")
|
|
print("请在 5 秒内切换到记事本进行按键测试...")
|
|
time.sleep(5)
|
|
|
|
# 3. 常用按键序列测试
|
|
test_keys = [
|
|
("方向键", ["W", "A", "S", "D"]),
|
|
("功能键", ["SPACE", "X", "B", "M", "TAB", "ESCAPE"]),
|
|
("数字键", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]),
|
|
("组合键测试", ["CTRL+C", "ALT+Z"])
|
|
]
|
|
|
|
for category, keys in test_keys:
|
|
print(f"\n正在测试 {category}: {keys}")
|
|
for k in keys:
|
|
print(f" 发送按键: {k}")
|
|
wyhkm.KeyPress(k)
|
|
time.sleep(0.5)
|
|
|
|
# 4. 鼠标同步测试
|
|
print("\n正在测试鼠标移动 (MoveR 100, 100)...")
|
|
wyhkm.MoveR(100, 100)
|
|
|
|
time.sleep(1)
|
|
wyhkm.Close()
|
|
print("\n所有常用按键测试完成!")
|