From 33dc741fd93fad7ac0cd57e61c487dc70fa8f323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=B9=8F?= Date: Wed, 15 Apr 2026 12:15:00 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E7=A1=AC=E4=BB=B6=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=20(hardware=5Fcontrol.py)=20=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F=E7=8A=B6=E6=80=81=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E5=8C=BA=E5=9F=9F=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 wyhkm.dll 硬件盒子 COM 接口封装,支持键盘鼠标控制 - 修复 game_state_config.json 中 scan_region_width 过小导致截图越界的问题 - 添加鼠标路径录制器、硬件测试脚本等工具 - 更新多项配置默认值 Co-Authored-By: Claude Opus 4.6 --- auto_bot.py | 295 +++- auto_bot_move.py | 285 +++- build.spec | 1 - build_wow_multikey.spec | 2 +- combat_loops/DK.json | 2 +- ddl/chm_output/CheckZoom.html | 15 + ddl/chm_output/DPI.html | 17 + ddl/chm_output/FontZoom.txt | Bin 0 -> 122 bytes ddl/chm_output/QA/css/mystyle.css | 6 + .../QA/使用windows远程桌面时无效.html | 14 + ddl/chm_output/QA/创建对象失败.html | 14 + ddl/chm_output/QA/找不到dll文件或函数.html | 14 + ddl/chm_output/QA/是否需要注册dll文件.html | 13 + ddl/chm_output/QA/注册dll失败.html | 13 + ddl/chm_output/QA/电脑USB插口不够用.html | 12 + ...标、相对移动、绝对鼠标、绝对移动的区别.html | 13 + .../QA/调用模块中的函数时报堆栈错误.html | 13 + ddl/chm_output/QA/鼠标移动模式如何设置.html | 16 + ddl/chm_output/ReadMe.html | 19 + ddl/chm_output/SimulationMethod.html | 16 + ddl/chm_output/SpeedMethod.html | 18 + ddl/chm_output/UsageMethod.html | 36 + ddl/chm_output/UseIntoVMWare.html | 29 + ddl/chm_output/com_fun/BSTR.html | 20 + ddl/chm_output/com_fun/CheckPressedKeys.html | 55 + ddl/chm_output/com_fun/Close.html | 43 + ddl/chm_output/com_fun/DelayRnd.html | 46 + .../com_fun/EnableOSMouseAccelerate.html | 33 + ddl/chm_output/com_fun/GetCursorPos.html | 48 + ddl/chm_output/com_fun/GetCursorPos2.html | 52 + ddl/chm_output/com_fun/GetDevInfo.html | 86 ++ ddl/chm_output/com_fun/GetDevString.html | 58 + ddl/chm_output/com_fun/GetError.html | 131 ++ .../com_fun/GetKeyboardLEDState.html | 67 + ddl/chm_output/com_fun/GetKeyboardMode.html | 61 + ddl/chm_output/com_fun/GetMouseMode.html | 73 + ddl/chm_output/com_fun/GetOSMouseSpeed.html | 32 + ddl/chm_output/com_fun/GetSerialNumber.html | 43 + ddl/chm_output/com_fun/GetVersion.html | 32 + ddl/chm_output/com_fun/IsKeyBusy.html | 47 + ddl/chm_output/com_fun/IsKeyDown.html | 47 + ddl/chm_output/com_fun/IsMouseBusy.html | 47 + ddl/chm_output/com_fun/IsMouseButtonDown.html | 65 + .../com_fun/IsOSMouseAccelerateEnabled.html | 36 + ddl/chm_output/com_fun/IsOpen.html | 65 + ddl/chm_output/com_fun/KeyDown.html | 45 + ddl/chm_output/com_fun/KeyPress.html | 43 + ddl/chm_output/com_fun/KeyUp.html | 46 + ddl/chm_output/com_fun/LeftClick.html | 43 + ddl/chm_output/com_fun/LeftDoubleClick.html | 43 + ddl/chm_output/com_fun/LeftDown.html | 45 + ddl/chm_output/com_fun/LeftUp.html | 45 + ddl/chm_output/com_fun/MiddleClick.html | 43 + ddl/chm_output/com_fun/MiddleDoubleClick.html | 43 + ddl/chm_output/com_fun/MiddleDown.html | 45 + ddl/chm_output/com_fun/MiddleUp.html | 45 + ddl/chm_output/com_fun/MouseWheel.html | 43 + ddl/chm_output/com_fun/MouseWheelP.html | 43 + ddl/chm_output/com_fun/MoveR.html | 44 + ddl/chm_output/com_fun/MoveR2.html | 44 + ddl/chm_output/com_fun/MoveRP.html | 44 + ddl/chm_output/com_fun/MoveTo.html | 44 + ddl/chm_output/com_fun/Open.html | 70 + ddl/chm_output/com_fun/Open2.html | 76 ++ ddl/chm_output/com_fun/OutputString.html | 43 + ddl/chm_output/com_fun/ReleaseKeyboard.html | 45 + ddl/chm_output/com_fun/ReleaseMouse.html | 45 + ddl/chm_output/com_fun/RightClick.html | 43 + ddl/chm_output/com_fun/RightDoubleClick.html | 43 + ddl/chm_output/com_fun/RightDown.html | 45 + ddl/chm_output/com_fun/RightUp.html | 45 + ddl/chm_output/com_fun/SearchDevice.html | 56 + ddl/chm_output/com_fun/SearchDevice2.html | 57 + ddl/chm_output/com_fun/SearchDeviceAll.html | 60 + .../com_fun/SetAbsMouseScrnRes.html | 44 + ddl/chm_output/com_fun/SetDevDescInfo.html | 69 + ddl/chm_output/com_fun/SetKeyInterval.html | 44 + ddl/chm_output/com_fun/SetLightMode.html | 66 + ddl/chm_output/com_fun/SetMode.html | 140 ++ ddl/chm_output/com_fun/SetMouseInterval.html | 44 + .../com_fun/SetMouseMoveTimeout.html | 43 + .../com_fun/SetMousePosMaxOffset.html | 43 + .../com_fun/SetMousePosPrecision.html | 43 + ddl/chm_output/com_fun/SetMouseSpeed.html | 43 + ddl/chm_output/com_fun/SetOSMouseSpeed.html | 33 + ddl/chm_output/com_fun/SetResetMode.html | 62 + ddl/chm_output/com_fun/SetResetTime.html | 48 + ddl/chm_output/com_fun/VerifyUserData.html | 44 + ddl/chm_output/com_fun/VerifyUserData2.html | 44 + ddl/chm_output/com_fun/VirtualKeyTable.html | 459 +++++++ ddl/chm_output/com_fun/XBtn1Click.html | 43 + ddl/chm_output/com_fun/XBtn1DoubleClick.html | 43 + ddl/chm_output/com_fun/XBtn1Down.html | 43 + ddl/chm_output/com_fun/XBtn1Up.html | 43 + ddl/chm_output/com_fun/XBtn2Click.html | 43 + ddl/chm_output/com_fun/XBtn2DoubleClick.html | 43 + ddl/chm_output/com_fun/XBtn2Down.html | 43 + ddl/chm_output/com_fun/XBtn2Up.html | 43 + ddl/chm_output/com_fun/css/help.css | 17 + ddl/chm_output/css/mystyle.css | 6 + ddl/chm_output/pic/jt1.jpg | Bin 0 -> 26807 bytes ddl/chm_output/pic/jt2.jpg | Bin 0 -> 25063 bytes ddl/chm_output/pic/jt3.jpg | Bin 0 -> 21755 bytes ddl/chm_output/pic/jt4.jpg | Bin 0 -> 50203 bytes .../standard_fun/HKMCheckPressedKeys.html | 64 + ddl/chm_output/standard_fun/HKMClose.html | 45 + ddl/chm_output/standard_fun/HKMDelayRnd.html | 49 + .../HKMEnableOSMouseAccelerate.html | 33 + ddl/chm_output/standard_fun/HKMFreeData.html | 35 + .../standard_fun/HKMGetCursorPos.html | 54 + .../standard_fun/HKMGetCursorPos2.html | 46 + .../standard_fun/HKMGetDataCount.html | 42 + .../standard_fun/HKMGetDataUnitInt.html | 47 + .../standard_fun/HKMGetDevInfo.html | 89 ++ .../standard_fun/HKMGetDevString.html | 68 + ddl/chm_output/standard_fun/HKMGetError.html | 131 ++ .../standard_fun/HKMGetKeyboardLEDState.html | 64 + .../standard_fun/HKMGetKeyboardMode.html | 63 + .../standard_fun/HKMGetMouseMode.html | 75 + .../standard_fun/HKMGetOSMouseSpeed.html | 32 + .../standard_fun/HKMGetSerialNumber.html | 46 + .../standard_fun/HKMGetVersion.html | 32 + ddl/chm_output/standard_fun/HKMIsKeyBusy.html | 45 + ddl/chm_output/standard_fun/HKMIsKeyDown.html | 50 + .../standard_fun/HKMIsMouseBusy.html | 45 + .../standard_fun/HKMIsMouseButtonDown.html | 68 + .../HKMIsOSMouseAccelerateEnabled.html | 35 + ddl/chm_output/standard_fun/HKMIsOpen.html | 63 + ddl/chm_output/standard_fun/HKMKeyDown.html | 48 + ddl/chm_output/standard_fun/HKMKeyPress.html | 46 + ddl/chm_output/standard_fun/HKMKeyUp.html | 48 + ddl/chm_output/standard_fun/HKMLeftClick.html | 45 + .../standard_fun/HKMLeftDoubleClick.html | 45 + ddl/chm_output/standard_fun/HKMLeftDown.html | 47 + ddl/chm_output/standard_fun/HKMLeftUp.html | 47 + .../standard_fun/HKMMiddleClick.html | 45 + .../standard_fun/HKMMiddleDoubleClick.html | 45 + .../standard_fun/HKMMiddleDown.html | 47 + ddl/chm_output/standard_fun/HKMMiddleUp.html | 47 + .../standard_fun/HKMMouseWheel.html | 46 + .../standard_fun/HKMMouseWheelP.html | 46 + ddl/chm_output/standard_fun/HKMMoveR.html | 47 + ddl/chm_output/standard_fun/HKMMoveR2.html | 47 + ddl/chm_output/standard_fun/HKMMoveRP.html | 47 + ddl/chm_output/standard_fun/HKMMoveTo.html | 47 + ddl/chm_output/standard_fun/HKMOpen.html | 72 + ddl/chm_output/standard_fun/HKMOpen2.html | 80 ++ .../standard_fun/HKMOutputString.html | 46 + .../standard_fun/HKMReleaseKeyboard.html | 47 + .../standard_fun/HKMReleaseMouse.html | 47 + .../standard_fun/HKMRightClick.html | 45 + .../standard_fun/HKMRightDoubleClick.html | 45 + ddl/chm_output/standard_fun/HKMRightDown.html | 47 + ddl/chm_output/standard_fun/HKMRightUp.html | 47 + .../standard_fun/HKMSearchDevice.html | 56 + .../standard_fun/HKMSearchDevice2.html | 57 + .../standard_fun/HKMSearchDeviceAll.html | 70 + .../standard_fun/HKMSetAbsMouseScrnRes.html | 47 + .../standard_fun/HKMSetDevDescInfo.html | 71 + .../standard_fun/HKMSetKeyInterval.html | 47 + .../standard_fun/HKMSetLightMode.html | 69 + ddl/chm_output/standard_fun/HKMSetMode.html | 153 +++ .../standard_fun/HKMSetMouseInterval.html | 47 + .../standard_fun/HKMSetMouseMoveTimeout.html | 46 + .../standard_fun/HKMSetMousePosMaxOffset.html | 46 + .../standard_fun/HKMSetMousePosPrecision.html | 46 + .../standard_fun/HKMSetMouseSpeed.html | 48 + .../standard_fun/HKMSetOSMouseSpeed.html | 33 + .../standard_fun/HKMSetResetMode.html | 66 + .../standard_fun/HKMSetResetTime.html | 52 + .../standard_fun/HKMVerifyUserData.html | 47 + .../standard_fun/HKMVerifyUserData2.html | 47 + .../standard_fun/HKMXBtn1Click.html | 45 + .../standard_fun/HKMXBtn1DoubleClick.html | 45 + ddl/chm_output/standard_fun/HKMXBtn1Down.html | 45 + ddl/chm_output/standard_fun/HKMXBtn1Up.html | 45 + .../standard_fun/HKMXBtn2Click.html | 45 + .../standard_fun/HKMXBtn2DoubleClick.html | 45 + ddl/chm_output/standard_fun/HKMXBtn2Down.html | 45 + ddl/chm_output/standard_fun/HKMXBtn2Up.html | 45 + ddl/chm_output/standard_fun/Type.html | 15 + .../standard_fun/VirtualKeyTable.html | 459 +++++++ ddl/chm_output/standard_fun/css/help.css | 17 + ddl/chm_output/wyhkmPrj.hhc | 1202 +++++++++++++++++ ddl/chm_output/wyhkmPrj.hhk | 873 ++++++++++++ ddl/example.py | 47 + ddl/wyhkm.dll | Bin 0 -> 337408 bytes ddl/接入方法.txt | 26 + ddl/无涯键鼠盒子模块V5.71说明.chm | Bin 0 -> 261805 bytes death_manager.py | 7 +- game_state_config.json | 8 +- hardware_control.py | 152 +++ logistics_manager.py | 64 +- loot_path.json | 1 + mouse_path_recorder.py | 85 ++ player_movement.py | 46 +- quest_follow.py | 9 +- recorder/waypoints.json | 68 +- requirements.txt | 1 - stuck_handler.py | 18 +- test_hw.py | 62 + wow_multikey_gui.py | 224 ++- wow_multikey_qt.json | 3 +- 203 files changed, 12197 insertions(+), 247 deletions(-) create mode 100644 ddl/chm_output/CheckZoom.html create mode 100644 ddl/chm_output/DPI.html create mode 100644 ddl/chm_output/FontZoom.txt create mode 100644 ddl/chm_output/QA/css/mystyle.css create mode 100644 ddl/chm_output/QA/使用windows远程桌面时无效.html create mode 100644 ddl/chm_output/QA/创建对象失败.html create mode 100644 ddl/chm_output/QA/找不到dll文件或函数.html create mode 100644 ddl/chm_output/QA/是否需要注册dll文件.html create mode 100644 ddl/chm_output/QA/注册dll失败.html create mode 100644 ddl/chm_output/QA/电脑USB插口不够用.html create mode 100644 ddl/chm_output/QA/相对鼠标、相对移动、绝对鼠标、绝对移动的区别.html create mode 100644 ddl/chm_output/QA/调用模块中的函数时报堆栈错误.html create mode 100644 ddl/chm_output/QA/鼠标移动模式如何设置.html create mode 100644 ddl/chm_output/ReadMe.html create mode 100644 ddl/chm_output/SimulationMethod.html create mode 100644 ddl/chm_output/SpeedMethod.html create mode 100644 ddl/chm_output/UsageMethod.html create mode 100644 ddl/chm_output/UseIntoVMWare.html create mode 100644 ddl/chm_output/com_fun/BSTR.html create mode 100644 ddl/chm_output/com_fun/CheckPressedKeys.html create mode 100644 ddl/chm_output/com_fun/Close.html create mode 100644 ddl/chm_output/com_fun/DelayRnd.html create mode 100644 ddl/chm_output/com_fun/EnableOSMouseAccelerate.html create mode 100644 ddl/chm_output/com_fun/GetCursorPos.html create mode 100644 ddl/chm_output/com_fun/GetCursorPos2.html create mode 100644 ddl/chm_output/com_fun/GetDevInfo.html create mode 100644 ddl/chm_output/com_fun/GetDevString.html create mode 100644 ddl/chm_output/com_fun/GetError.html create mode 100644 ddl/chm_output/com_fun/GetKeyboardLEDState.html create mode 100644 ddl/chm_output/com_fun/GetKeyboardMode.html create mode 100644 ddl/chm_output/com_fun/GetMouseMode.html create mode 100644 ddl/chm_output/com_fun/GetOSMouseSpeed.html create mode 100644 ddl/chm_output/com_fun/GetSerialNumber.html create mode 100644 ddl/chm_output/com_fun/GetVersion.html create mode 100644 ddl/chm_output/com_fun/IsKeyBusy.html create mode 100644 ddl/chm_output/com_fun/IsKeyDown.html create mode 100644 ddl/chm_output/com_fun/IsMouseBusy.html create mode 100644 ddl/chm_output/com_fun/IsMouseButtonDown.html create mode 100644 ddl/chm_output/com_fun/IsOSMouseAccelerateEnabled.html create mode 100644 ddl/chm_output/com_fun/IsOpen.html create mode 100644 ddl/chm_output/com_fun/KeyDown.html create mode 100644 ddl/chm_output/com_fun/KeyPress.html create mode 100644 ddl/chm_output/com_fun/KeyUp.html create mode 100644 ddl/chm_output/com_fun/LeftClick.html create mode 100644 ddl/chm_output/com_fun/LeftDoubleClick.html create mode 100644 ddl/chm_output/com_fun/LeftDown.html create mode 100644 ddl/chm_output/com_fun/LeftUp.html create mode 100644 ddl/chm_output/com_fun/MiddleClick.html create mode 100644 ddl/chm_output/com_fun/MiddleDoubleClick.html create mode 100644 ddl/chm_output/com_fun/MiddleDown.html create mode 100644 ddl/chm_output/com_fun/MiddleUp.html create mode 100644 ddl/chm_output/com_fun/MouseWheel.html create mode 100644 ddl/chm_output/com_fun/MouseWheelP.html create mode 100644 ddl/chm_output/com_fun/MoveR.html create mode 100644 ddl/chm_output/com_fun/MoveR2.html create mode 100644 ddl/chm_output/com_fun/MoveRP.html create mode 100644 ddl/chm_output/com_fun/MoveTo.html create mode 100644 ddl/chm_output/com_fun/Open.html create mode 100644 ddl/chm_output/com_fun/Open2.html create mode 100644 ddl/chm_output/com_fun/OutputString.html create mode 100644 ddl/chm_output/com_fun/ReleaseKeyboard.html create mode 100644 ddl/chm_output/com_fun/ReleaseMouse.html create mode 100644 ddl/chm_output/com_fun/RightClick.html create mode 100644 ddl/chm_output/com_fun/RightDoubleClick.html create mode 100644 ddl/chm_output/com_fun/RightDown.html create mode 100644 ddl/chm_output/com_fun/RightUp.html create mode 100644 ddl/chm_output/com_fun/SearchDevice.html create mode 100644 ddl/chm_output/com_fun/SearchDevice2.html create mode 100644 ddl/chm_output/com_fun/SearchDeviceAll.html create mode 100644 ddl/chm_output/com_fun/SetAbsMouseScrnRes.html create mode 100644 ddl/chm_output/com_fun/SetDevDescInfo.html create mode 100644 ddl/chm_output/com_fun/SetKeyInterval.html create mode 100644 ddl/chm_output/com_fun/SetLightMode.html create mode 100644 ddl/chm_output/com_fun/SetMode.html create mode 100644 ddl/chm_output/com_fun/SetMouseInterval.html create mode 100644 ddl/chm_output/com_fun/SetMouseMoveTimeout.html create mode 100644 ddl/chm_output/com_fun/SetMousePosMaxOffset.html create mode 100644 ddl/chm_output/com_fun/SetMousePosPrecision.html create mode 100644 ddl/chm_output/com_fun/SetMouseSpeed.html create mode 100644 ddl/chm_output/com_fun/SetOSMouseSpeed.html create mode 100644 ddl/chm_output/com_fun/SetResetMode.html create mode 100644 ddl/chm_output/com_fun/SetResetTime.html create mode 100644 ddl/chm_output/com_fun/VerifyUserData.html create mode 100644 ddl/chm_output/com_fun/VerifyUserData2.html create mode 100644 ddl/chm_output/com_fun/VirtualKeyTable.html create mode 100644 ddl/chm_output/com_fun/XBtn1Click.html create mode 100644 ddl/chm_output/com_fun/XBtn1DoubleClick.html create mode 100644 ddl/chm_output/com_fun/XBtn1Down.html create mode 100644 ddl/chm_output/com_fun/XBtn1Up.html create mode 100644 ddl/chm_output/com_fun/XBtn2Click.html create mode 100644 ddl/chm_output/com_fun/XBtn2DoubleClick.html create mode 100644 ddl/chm_output/com_fun/XBtn2Down.html create mode 100644 ddl/chm_output/com_fun/XBtn2Up.html create mode 100644 ddl/chm_output/com_fun/css/help.css create mode 100644 ddl/chm_output/css/mystyle.css create mode 100644 ddl/chm_output/pic/jt1.jpg create mode 100644 ddl/chm_output/pic/jt2.jpg create mode 100644 ddl/chm_output/pic/jt3.jpg create mode 100644 ddl/chm_output/pic/jt4.jpg create mode 100644 ddl/chm_output/standard_fun/HKMCheckPressedKeys.html create mode 100644 ddl/chm_output/standard_fun/HKMClose.html create mode 100644 ddl/chm_output/standard_fun/HKMDelayRnd.html create mode 100644 ddl/chm_output/standard_fun/HKMEnableOSMouseAccelerate.html create mode 100644 ddl/chm_output/standard_fun/HKMFreeData.html create mode 100644 ddl/chm_output/standard_fun/HKMGetCursorPos.html create mode 100644 ddl/chm_output/standard_fun/HKMGetCursorPos2.html create mode 100644 ddl/chm_output/standard_fun/HKMGetDataCount.html create mode 100644 ddl/chm_output/standard_fun/HKMGetDataUnitInt.html create mode 100644 ddl/chm_output/standard_fun/HKMGetDevInfo.html create mode 100644 ddl/chm_output/standard_fun/HKMGetDevString.html create mode 100644 ddl/chm_output/standard_fun/HKMGetError.html create mode 100644 ddl/chm_output/standard_fun/HKMGetKeyboardLEDState.html create mode 100644 ddl/chm_output/standard_fun/HKMGetKeyboardMode.html create mode 100644 ddl/chm_output/standard_fun/HKMGetMouseMode.html create mode 100644 ddl/chm_output/standard_fun/HKMGetOSMouseSpeed.html create mode 100644 ddl/chm_output/standard_fun/HKMGetSerialNumber.html create mode 100644 ddl/chm_output/standard_fun/HKMGetVersion.html create mode 100644 ddl/chm_output/standard_fun/HKMIsKeyBusy.html create mode 100644 ddl/chm_output/standard_fun/HKMIsKeyDown.html create mode 100644 ddl/chm_output/standard_fun/HKMIsMouseBusy.html create mode 100644 ddl/chm_output/standard_fun/HKMIsMouseButtonDown.html create mode 100644 ddl/chm_output/standard_fun/HKMIsOSMouseAccelerateEnabled.html create mode 100644 ddl/chm_output/standard_fun/HKMIsOpen.html create mode 100644 ddl/chm_output/standard_fun/HKMKeyDown.html create mode 100644 ddl/chm_output/standard_fun/HKMKeyPress.html create mode 100644 ddl/chm_output/standard_fun/HKMKeyUp.html create mode 100644 ddl/chm_output/standard_fun/HKMLeftClick.html create mode 100644 ddl/chm_output/standard_fun/HKMLeftDoubleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMLeftDown.html create mode 100644 ddl/chm_output/standard_fun/HKMLeftUp.html create mode 100644 ddl/chm_output/standard_fun/HKMMiddleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMMiddleDoubleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMMiddleDown.html create mode 100644 ddl/chm_output/standard_fun/HKMMiddleUp.html create mode 100644 ddl/chm_output/standard_fun/HKMMouseWheel.html create mode 100644 ddl/chm_output/standard_fun/HKMMouseWheelP.html create mode 100644 ddl/chm_output/standard_fun/HKMMoveR.html create mode 100644 ddl/chm_output/standard_fun/HKMMoveR2.html create mode 100644 ddl/chm_output/standard_fun/HKMMoveRP.html create mode 100644 ddl/chm_output/standard_fun/HKMMoveTo.html create mode 100644 ddl/chm_output/standard_fun/HKMOpen.html create mode 100644 ddl/chm_output/standard_fun/HKMOpen2.html create mode 100644 ddl/chm_output/standard_fun/HKMOutputString.html create mode 100644 ddl/chm_output/standard_fun/HKMReleaseKeyboard.html create mode 100644 ddl/chm_output/standard_fun/HKMReleaseMouse.html create mode 100644 ddl/chm_output/standard_fun/HKMRightClick.html create mode 100644 ddl/chm_output/standard_fun/HKMRightDoubleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMRightDown.html create mode 100644 ddl/chm_output/standard_fun/HKMRightUp.html create mode 100644 ddl/chm_output/standard_fun/HKMSearchDevice.html create mode 100644 ddl/chm_output/standard_fun/HKMSearchDevice2.html create mode 100644 ddl/chm_output/standard_fun/HKMSearchDeviceAll.html create mode 100644 ddl/chm_output/standard_fun/HKMSetAbsMouseScrnRes.html create mode 100644 ddl/chm_output/standard_fun/HKMSetDevDescInfo.html create mode 100644 ddl/chm_output/standard_fun/HKMSetKeyInterval.html create mode 100644 ddl/chm_output/standard_fun/HKMSetLightMode.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMode.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMouseInterval.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMouseMoveTimeout.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMousePosMaxOffset.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMousePosPrecision.html create mode 100644 ddl/chm_output/standard_fun/HKMSetMouseSpeed.html create mode 100644 ddl/chm_output/standard_fun/HKMSetOSMouseSpeed.html create mode 100644 ddl/chm_output/standard_fun/HKMSetResetMode.html create mode 100644 ddl/chm_output/standard_fun/HKMSetResetTime.html create mode 100644 ddl/chm_output/standard_fun/HKMVerifyUserData.html create mode 100644 ddl/chm_output/standard_fun/HKMVerifyUserData2.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn1Click.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn1DoubleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn1Down.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn1Up.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn2Click.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn2DoubleClick.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn2Down.html create mode 100644 ddl/chm_output/standard_fun/HKMXBtn2Up.html create mode 100644 ddl/chm_output/standard_fun/Type.html create mode 100644 ddl/chm_output/standard_fun/VirtualKeyTable.html create mode 100644 ddl/chm_output/standard_fun/css/help.css create mode 100644 ddl/chm_output/wyhkmPrj.hhc create mode 100644 ddl/chm_output/wyhkmPrj.hhk create mode 100644 ddl/example.py create mode 100644 ddl/wyhkm.dll create mode 100644 ddl/接入方法.txt create mode 100644 ddl/无涯键鼠盒子模块V5.71说明.chm create mode 100644 hardware_control.py create mode 100644 loot_path.json create mode 100644 mouse_path_recorder.py create mode 100644 test_hw.py diff --git a/auto_bot.py b/auto_bot.py index 0d548a3..00946fa 100644 --- a/auto_bot.py +++ b/auto_bot.py @@ -1,9 +1,23 @@ import json import os import random +import sys import time -import pydirectinput +import math +import ctypes +import cv2 +import numpy as np +import win32gui +import win32api +import win32con +# 开启 DPI 意识 +try: + ctypes.windll.shcore.SetProcessDpiAwareness(1) +except Exception: + ctypes.windll.user32.SetProcessDPIAware() + +from hardware_control import hw_ctrl from game_state import parse_game_state from stuck_handler import StuckHandler @@ -11,6 +25,84 @@ from stuck_handler import StuckHandler KEY_TAB = '3' KEY_LOOT = '4' # 假设你在游戏里设置了互动按键为 F KEY_ATTACK = '2' # 假设你的主攻击技能是 1 +WIN_TITLE = "魔兽世界" + +def _config_base(): + if getattr(sys, 'frozen', False): + return os.path.dirname(sys.executable) + return os.path.dirname(os.path.abspath(__file__)) + +class CursorManager: + """通过图像识别判断鼠标图标类型""" + def __init__(self): + self.templates = {} + self.handle_cache = {} + self._load_templates() + + def _load_templates(self): + # 强制使用纯相对路径,由 Python 自动处理 CWD,完美避开中文路径编码问题 + cursor_dir = os.path.join('images', 'cursor') + files = {'Point': 'Point.PNG', 'Attack': 'Attack.PNG', 'LootAll': 'LootAll.PNG', 'Skin': 'Skin.PNG'} + for name, fname in files.items(): + path = os.path.join(cursor_dir, fname) + if os.path.exists(path): + try: + # 使用 numpy 读取二进制流再解码 + img_array = np.fromfile(path, dtype=np.uint8) + img = cv2.imdecode(img_array, cv2.IMREAD_UNCHANGED) + if img is not None: + if img.shape[2] == 3: + img = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA) + self.templates[name] = img + except Exception as e: + print(f">>> [CursorMgr] 加载 {fname} 失败: {e}") + else: + print(f">>> [CursorMgr] 找不到文件: {path}") + + def get_type(self, hcursor): + if not hcursor or hcursor == 0: return 'Other', 0.0 + if hcursor in self.handle_cache: return self.handle_cache[hcursor] + res = self._identify(hcursor) + self.handle_cache[hcursor] = res + return res + + def _identify(self, hcursor): + import win32ui + try: + width, height = 48, 48 + hdc = win32gui.GetDC(0) + dc = win32ui.CreateDCFromHandle(hdc) + memdc = dc.CreateCompatibleDC() + bitmap = win32ui.CreateBitmap() + bitmap.CreateCompatibleBitmap(dc, width, height) + memdc.SelectObject(bitmap) + win32gui.DrawIconEx(memdc.GetSafeHdc(), 0, 0, hcursor, width, height, 0, 0, win32con.DI_NORMAL) + bits = bitmap.GetBitmapBits(True) + target = np.frombuffer(bits, dtype='uint8').reshape(height, width, 4) + memdc.DeleteDC() + win32gui.ReleaseDC(0, hdc) + + best_name = 'Other' + max_score = 0.0 + + scales = [0.8, 1.0, 1.2] + for name, temp in self.templates.items(): + t_h, t_w = temp.shape[:2] + for s in scales: + s_w, s_h = int(t_w * s), int(t_h * s) + if s_w > width or s_h > height: continue + res_temp = cv2.resize(temp, (s_w, s_h)) + res = cv2.matchTemplate(target, res_temp, cv2.TM_CCOEFF_NORMED) + _, score, _, _ = cv2.minMaxLoc(res) + if score > max_score: + max_score = score + best_name = name + + if max_score > 0.2: + print(f">>>> [雷达识别] 目标: {best_name} | 最高分: {max_score:.3f}") + return best_name, max_score + except Exception: + return 'Other', 0.0 def load_attack_loop(path): """从 JSON 加载攻击循环配置。支持 hp_below_percent/hp_key、mp_below_percent/mp_key(0=不启用)""" @@ -36,8 +128,12 @@ def load_attack_loop(path): class AutoBot: - def __init__(self, waypoints=None, attack_loop_path=None, skinning_wait_sec=None): + def __init__(self, waypoints=None, attack_loop_path=None, skinning_wait_sec=None, enable_mouse_loot=True): self.last_tab_time = 0 + self.last_interaction_time = 0 + self.last_target_hp = 0 + self._has_braked_for_target = False + self._was_in_combat_or_target = False self.is_running = True self.attack_loop_config = load_attack_loop(attack_loop_path) self.tab_no_target_count = 0 # 连续按 Tab 仍无目标的次数,满 5 次则转向 @@ -45,18 +141,101 @@ class AutoBot: self.target_acquired_time = None # 本次获得目标的时间(目前仅用于调试/保留接口) self.last_turn_end_time = 0 # 最近一次结束 A/D 转向的时间,供卡死检测排除 self.skinning_wait_sec = float(skinning_wait_sec) if skinning_wait_sec is not None else 1.5 + self.enable_mouse_loot = enable_mouse_loot + self.cursor_mgr = CursorManager() def execute_disengage_loot(self): """从有战斗/目标切换到完全脱战的瞬间,执行拾取 + 剥皮。""" try: - # 拾取 - pydirectinput.press(KEY_LOOT) - time.sleep(0.5) - # 剥皮 - pydirectinput.press(KEY_LOOT) - time.sleep(self.skinning_wait_sec) + # 1. 拟人化鼠标扫雷补漏拾取 + if self.enable_mouse_loot: + self.mouse_sweep_loot() + else: + hw_ctrl.press(KEY_LOOT) + time.sleep(0.5) + # 2. 剥皮动作 + hw_ctrl.press(KEY_LOOT) + time.sleep(self.skinning_wait_sec + 0.5) except Exception: pass + + def mouse_sweep_loot(self): + """支持图标识别的高精度扫雷拾取。""" + if random.random() < 0.1: return False + hwnd = win32gui.FindWindow(None, WIN_TITLE) + if not hwnd: return False + + try: + rect = win32gui.GetWindowRect(hwnd) + left, top, right, bottom = rect + center_x = left + (right - left) // 2 + center_y = top + (bottom - top) // 2 + + # 1. 强制“角落校准”采样 + win32api.SetCursorPos((left + 50, top + 50)) + time.sleep(0.2) + _, default_hcursor, _ = win32gui.GetCursorInfo() + + # 2. 获取扫瞄路径点位 + path_points = [] + path_file = "loot_path.json" + if os.path.exists(path_file): + with open(path_file, 'r') as f: + path_points = json.load(f) + else: + # 降级方案:生成拟人化半椭圆 + x_scale, y_scale = 1.8, 0.8 + for r in range(50, (bottom-top)//2, 40): + angles = range(180, 360, 5) if (r//40)%2==0 else range(360, 180, -5) + for a in angles: + rad = math.radians(a) + path_points.append((int(r * math.cos(rad) * x_scale), int(r * math.sin(rad) * y_scale))) + + # 3. 开始沿路径扫瞄 + start_time = time.time() + looted_positions = [] + + for dx, dy in path_points: + if time.time() - start_time > 15.0: break + + target_x = center_x + dx + random.randint(-5, 5) + target_y = center_y + dy + random.randint(-5, 5) + + if not (left+10 < target_x < right-10 and top+10 < target_y < bottom-10): continue + if any(math.dist((target_x, target_y), pos) < 30 for pos in looted_positions): continue + + win32api.SetCursorPos((target_x, target_y)) + time.sleep(0.02) + + _, hcursor, _ = win32gui.GetCursorInfo() + if hcursor != 0 and hcursor != default_hcursor: + # 识别图标 + ctype_name, score = self.cursor_mgr.get_type(hcursor) + if score > 0.7 and ctype_name in ['LootAll', 'Skin']: + print(f">>> [扫雷] 识别成功: {ctype_name} (得分: {score:.3f}), 执行右键点击") + hw_ctrl.right_click() + looted_positions.append((target_x, target_y)) + + # 根据类型等待 + ws = 1.3 if ctype_name == 'LootAll' else self.skinning_wait_sec + time.sleep(ws) + + # 等待指针恢复 + w_start = time.time() + while time.time() - w_start < 0.8: + _, ch, _ = win32gui.GetCursorInfo() + check_name, _ = self.cursor_mgr.get_type(ch) + if check_name == 'Point': break + time.sleep(0.1) + time.sleep(random.uniform(0.1, 0.2)) + elif score > 0.4: + print(f">>> [扫雷] 疑似图标: {ctype_name} (得分: {score:.3f} < 门槛 0.7)") + + win32api.SetCursorPos((center_x, center_y)) + return True + except Exception as e: + print(f">>> [扫雷拾取] 出错: {e}") + return False def execute_combat_logic(self, state): if self.attack_loop_config: @@ -65,74 +244,86 @@ class AutoBot: return hp = state.get('hp') if hp is not None and cfg.get('hp_below_percent') and cfg.get('hp_key') and hp < cfg['hp_below_percent']: - pydirectinput.press(cfg['hp_key']) + hw_ctrl.press(cfg['hp_key']) time.sleep(0.2) mp = state.get('mp') if mp is not None and cfg.get('mp_below_percent') and cfg.get('mp_key') and mp < cfg['mp_below_percent']: - pydirectinput.press(cfg['mp_key']) + hw_ctrl.press(cfg['mp_key']) time.sleep(0.2) # 每次攻击前选中目标 - pydirectinput.press(KEY_LOOT) + # hw_ctrl.press(KEY_LOOT) for step in cfg['steps']: key = step.get('key') or KEY_ATTACK delay = float(step.get('delay', 0.5)) - pydirectinput.press(key) + hw_ctrl.press(key) time.sleep(delay) return # 默认:模拟手动按键的节奏 if random.random() < 0.3: - pydirectinput.press(KEY_ATTACK) + hw_ctrl.press(KEY_ATTACK) time.sleep(0.5) def execute_logic(self, state): current_time = time.time() + target_hp = state.get('target_hp', 0) + + effective_target = bool(state['target'] and target_hp > 0) + in_combat_or_target = bool(state['combat'] or effective_target) + + if in_combat_or_target: + self.target_acquired_time = (self.target_acquired_time or current_time) + self.tab_no_target_count = 0 + + if effective_target: + is_new_target = (target_hp > self.last_target_hp + 5) + if is_new_target: + self._has_braked_for_target = False + + # 1. 刹车逻辑 + if not self._has_braked_for_target and 0 < target_hp < self.last_target_hp: + hw_ctrl.keyDown('s') + time.sleep(0.05) + hw_ctrl.keyUp('s') + self._has_braked_for_target = True + + # 2. 交互逻辑 + cooldown = 2.0 if not state['combat'] else 6.0 + if is_new_target or (current_time - self.last_interaction_time > cooldown): + hw_ctrl.press(KEY_LOOT) + self.last_interaction_time = current_time + self.last_target_hp = target_hp + if state['combat']: + self.execute_combat_logic(state) + + self._was_in_combat_or_target = True + return + else: + if self._was_in_combat_or_target: + self.execute_disengage_loot() + self._was_in_combat_or_target = False + self.last_tab_time = current_time + 1.0 + self.last_target_hp = 0 + self._has_braked_for_target = False + return + + self._was_in_combat_or_target = False + self.last_target_hp = 0 + self._has_braked_for_target = False - # --- 场景 1:没有目标,按 Tab 选怪;连续 5 次无目标则随机左/右转再重试 --- - if not state['target']: - self.execute_disengage_loot() - self.target_acquired_time = None # 脱战/无目标时清零 - self.stuck_handler.reset() # 避免脱战期间保留上次站桩的计时,导致重新选到目标立刻误判卡死 self.tab_no_target_count = min(self.tab_no_target_count, 5) if self.tab_no_target_count >= 5: - # 随机左转或右转一段时间,再重新获取目标 - turn_key = random.choice(["a", "d"]) # a=左转, d=右转 - pydirectinput.keyDown(turn_key) + turn_key = random.choice(["a", "d"]) + hw_ctrl.keyDown(turn_key) time.sleep(random.uniform(0.3, 0.6)) - pydirectinput.keyUp(turn_key) + hw_ctrl.keyUp(turn_key) self.tab_no_target_count = 0 self.last_tab_time = current_time - self.last_turn_end_time = current_time # 供卡死检测排除刚转向的一小段时间 - elif current_time - self.last_tab_time > random.uniform(0.5, 1.2): - pydirectinput.press(KEY_TAB) + self.last_turn_end_time = current_time + elif current_time - self.last_tab_time > random.uniform(0.8, 1.5): + hw_ctrl.press(KEY_TAB) self.last_tab_time = current_time self.tab_no_target_count += 1 - else: - self.tab_no_target_count = 0 # 有目标时清零 - # 跑向怪阶段的卡死检测:只在目标血量为 100% 时认为是在“刚刚开怪、接近怪物”,避免残血目标也触发跑向怪卡死逻辑 - target_hp = state.get('target_hp') - if target_hp >= 100: - try: - if self.stuck_handler.check_stuck(state, self.last_turn_end_time): - print(">>> [自动打怪] 可能卡住障碍物,执行脱困") - self.stuck_handler.resolve_stuck() - self.stuck_handler.reset() - return - except Exception: - pass - - # --- 场景 2:有目标且不在战斗中,按交互键 --- - if state['target'] and not state['combat']: - if random.random() < 0.3: # 只有 30% 的循环频率触发按键,模拟真人频率 - pydirectinput.press(KEY_LOOT) - - # --- 场景 3:有目标且在战斗中,自动按技能 --- - elif state['target'] and state['combat']: - self.execute_combat_logic(state) - - # --- 场景 3:脱战且有可拾取物(需要你在 Lua 增加拾取位,见下文) --- - # if not state['in_combat'] and state['has_loot']: - # pydirectinput.press(KEY_LOOT) # 在 main 循环中使用:从 game_state 获取 state if __name__ == "__main__": @@ -155,4 +346,4 @@ if __name__ == "__main__": bot.execute_logic(state) time.sleep(0.1) except KeyboardInterrupt: - print("\n已停止。") \ No newline at end of file + print("\n已停止。") diff --git a/auto_bot_move.py b/auto_bot_move.py index 7461949..d62a71f 100644 --- a/auto_bot_move.py +++ b/auto_bot_move.py @@ -3,8 +3,11 @@ import os import random import sys import time -import pydirectinput - +import math +import ctypes +import cv2 +import numpy as np +from hardware_control import hw_ctrl from game_state import parse_game_state, load_layout_config from coordinate_patrol import CoordinatePatrol from death_manager import DeathManager @@ -20,6 +23,7 @@ DEFAULT_EAT_MAX_WAIT_SEC = 30.0 # 巡逻点配置文件 WAYPOINTS_FILE = 'waypoints.json' +WIN_TITLE = "魔兽世界" # 默认巡逻航点(waypoints.json 不存在或无效时使用) DEFAULT_WAYPOINTS = [(23.8, 71.0), (27.0, 79.0), (31.0, 72.0)] @@ -81,6 +85,88 @@ def load_attack_loop(path): return None +class CursorManager: + """通过图像识别判断鼠标图标类型""" + def __init__(self): + self.templates = {} + self.handle_cache = {} # 句柄 -> 类型缓存 + self._load_templates() + + def _load_templates(self): + # 强制使用纯相对路径,不带盘符前缀,由 Python 自动处理 CWD + cursor_dir = os.path.join('images', 'cursor') + files = { + 'Point': 'Point.PNG', + 'Attack': 'Attack.PNG', + 'LootAll': 'LootAll.PNG', + 'Skin': 'Skin.PNG' + } + for name, fname in files.items(): + path = os.path.join(cursor_dir, fname) + # 记录尝试读取的路径 + if os.path.exists(path): + try: + # 使用 np.fromfile 读取为字节流,再解码,完美避开 OpenCV 的 imread 编码 Bug + img_array = np.fromfile(path, dtype=np.uint8) + img = cv2.imdecode(img_array, cv2.IMREAD_UNCHANGED) + if img is not None: + if img.shape[2] == 3: + img = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA) + self.templates[name] = img + except Exception as e: + print(f">>> [CursorMgr] 加载 {fname} 失败: {e}") + else: + print(f">>> [CursorMgr] 找不到文件: {path}") + + def get_type(self, hcursor): + if not hcursor or hcursor == 0: return 'Other', 0.0 + if hcursor in self.handle_cache: return self.handle_cache[hcursor] + res = self._identify(hcursor) + self.handle_cache[hcursor] = res + return res + + def _identify(self, hcursor): + import win32ui + try: + # 捕获 48x48 区域,留出缩放空间 + width, height = 48, 48 + hdc = win32gui.GetDC(0) + dc = win32ui.CreateDCFromHandle(hdc) + memdc = dc.CreateCompatibleDC() + bitmap = win32ui.CreateBitmap() + bitmap.CreateCompatibleBitmap(dc, width, height) + memdc.SelectObject(bitmap) + win32gui.DrawIconEx(memdc.GetSafeHdc(), 0, 0, hcursor, width, height, 0, 0, win32con.DI_NORMAL) + bits = bitmap.GetBitmapBits(True) + target = np.frombuffer(bits, dtype='uint8').reshape(height, width, 4) + memdc.DeleteDC() + win32gui.ReleaseDC(0, hdc) + + best_name = 'Other' + max_score = 0.0 + + # 多尺度匹配:尝试 0.8, 1.0, 1.2 倍缩放,解决 UI 缩放问题 + scales = [0.8, 1.0, 1.2] + for name, temp in self.templates.items(): + t_h, t_w = temp.shape[:2] + for s in scales: + s_w, s_h = int(t_w * s), int(t_h * s) + if s_w > width or s_h > height: continue + + res_temp = cv2.resize(temp, (s_w, s_h)) + res = cv2.matchTemplate(target, res_temp, cv2.TM_CCOEFF_NORMED) + _, score, _, _ = cv2.minMaxLoc(res) + if score > max_score: + max_score = score + best_name = name + + if max_score > 0.2: + print(f">>>> [雷达识别] 目标: {best_name} | 最高分: {max_score:.3f}") + return best_name, max_score + except Exception as e: + return 'Other', 0.0 + + class AutoBotMove: def __init__( self, @@ -96,14 +182,20 @@ class AutoBotMove: resurrection_waypoints_path=None, release_spirit_key=None, resurrect_key=None, + enable_mouse_loot=True, ): self.last_tab_time = 0 + self.last_interaction_time = 0 # 记录上一次按互动键的时间 + self.last_target_hp = 0 # 记录上一次的目标血量 + self._has_braked_for_target = False # 是否已经执行过刹车 self.is_running = True self.is_moving = False self.target_acquired_time = None # 本次获得目标的时间,用于仅在做「跑向怪」时做卡死检测 # 记录上一帧是否处于战斗/有目标,用于检测“刚刚脱战”的瞬间 self._was_in_combat_or_target = False self.skinning_wait_sec = float(skinning_wait_sec) if skinning_wait_sec is not None else 1.5 + self.enable_mouse_loot = enable_mouse_loot + self.cursor_mgr = CursorManager() self.food_key = (food_key or DEFAULT_FOOD_KEY).strip().lower() or DEFAULT_FOOD_KEY self.eat_hp_threshold = int(eat_hp_threshold) if eat_hp_threshold is not None else DEFAULT_EAT_HP_THRESHOLD self.eat_max_wait_sec = float(eat_max_wait_sec) if eat_max_wait_sec is not None else DEFAULT_EAT_MAX_WAIT_SEC @@ -161,15 +253,102 @@ class AutoBotMove: def execute_disengage_loot(self): """从有战斗/目标切换到完全脱战的瞬间,执行拾取 + 剥皮。""" try: - # 拾取 - pydirectinput.press(KEY_LOOT) - time.sleep(0.5) - # 剥皮 - pydirectinput.press(KEY_LOOT) - time.sleep(self.skinning_wait_sec) + # 1. 拟人化鼠标扫雷补漏拾取(根据开关决定是否执行) + if self.enable_mouse_loot: + self.mouse_sweep_loot() + else: + # 关闭扫雷时,执行基础的交互拾取 + hw_ctrl.press(KEY_LOOT) + time.sleep(0.5) + + # 2. 最后补漏剥皮(针对脚下尸体) + # hw_ctrl.press(KEY_LOOT) + # time.sleep(self.skinning_wait_sec + 0.5) except Exception: pass + def mouse_sweep_loot(self): + """支持图标识别的高精度扫雷拾取。""" + if random.random() < 0.1: return False + hwnd = win32gui.FindWindow(None, WIN_TITLE) + if not hwnd: return False + + try: + rect = win32gui.GetWindowRect(hwnd) + left, top, right, bottom = rect + center_x = left + (right - left) // 2 + center_y = top + (bottom - top) // 2 + + # 1. 强制“角落校准”采样 + win32api.SetCursorPos((left + 50, top + 50)) + time.sleep(0.2) + _, default_hcursor, _ = win32gui.GetCursorInfo() + + # 2. 获取扫瞄路径点位 + path_points = [] + path_file = get_config_path("loot_path.json") + if os.path.exists(path_file): + with open(path_file, 'r') as f: + path_points = json.load(f) + else: + # 降级方案:生成半椭圆点位 + x_scale, y_scale = 1.8, 0.8 + for r in range(50, (bottom-top)//2, 40): + angles = range(180, 360, 5) if (r//40)%2==0 else range(360, 180, -5) + for a in angles: + rad = math.radians(a) + path_points.append((int(r * math.cos(rad) * x_scale), int(r * math.sin(rad) * y_scale))) + + # 3. 开始沿路径扫瞄 + start_time = time.time() + looted_positions = [] + + for dx, dy in path_points: + if time.time() - start_time > 15.0: break + + target_x = center_x + dx + random.randint(-5, 5) + target_y = center_y + dy + random.randint(-5, 5) + + if not (left+10 < target_x < right-10 and top+10 < target_y < bottom-10): continue + if any(math.dist((target_x, target_y), pos) < 30 for pos in looted_positions): continue + + win32api.SetCursorPos((target_x, target_y)) + time.sleep(0.02) + + _, hcursor, _ = win32gui.GetCursorInfo() + if hcursor != 0 and hcursor != default_hcursor: + # 识别图标类型 + ctype_name, score = self.cursor_mgr.get_type(hcursor) + + if score > 0.7 and ctype_name in ['LootAll', 'Skin']: + print(f">>> [扫雷] 识别成功: {ctype_name} (得分: {score:.3f}), 执行右键点击") + hw_ctrl.right_click() + looted_positions.append((target_x, target_y)) + + # 根据图标类型决定等待时间 + wait_sec = 1.3 if ctype_name == 'LootAll' else self.skinning_wait_sec + time.sleep(wait_sec) + + # 等待指针恢复 + wait_start = time.time() + while time.time() - wait_start < 0.8: + _, curr_h, _ = win32gui.GetCursorInfo() + check_name, _ = self.cursor_mgr.get_type(curr_h) + if check_name == 'Point': break + time.sleep(0.1) + time.sleep(random.uniform(0.1, 0.2)) + elif score > 0.4: + # 记录一下高分但未达到门槛的识别,方便调试 + print(f">>> [扫雷] 疑似图标: {ctype_name} (得分: {score:.3f} < 门槛 0.7)") + + if self._should_stop(): break + + win32api.SetCursorPos((center_x, center_y)) + return True + except Exception as e: + print(f">>> [扫雷拾取] 出错: {e}") + return False + def execute_combat_logic(self, state): if self.attack_loop_config: cfg = self.attack_loop_config @@ -177,29 +356,29 @@ class AutoBotMove: return hp = state.get('hp') if hp is not None and cfg.get('hp_below_percent') and cfg.get('hp_key') and hp < cfg['hp_below_percent']: - pydirectinput.press(cfg['hp_key']) + hw_ctrl.press(cfg['hp_key']) time.sleep(0.2) mp = state.get('mp') if mp is not None and cfg.get('mp_below_percent') and cfg.get('mp_key') and mp < cfg['mp_below_percent']: - pydirectinput.press(cfg['mp_key']) + hw_ctrl.press(cfg['mp_key']) time.sleep(0.2) # 每次攻击前选中目标 - # pydirectinput.press(KEY_LOOT) + # hw_ctrl.press(KEY_LOOT) for step in cfg['steps']: key = step.get('key') or KEY_ATTACK delay = float(step.get('delay', 0.5)) - pydirectinput.press(key) + hw_ctrl.press(key) time.sleep(delay) return # 默认:模拟手动按键的节奏 if random.random() < 0.3: - pydirectinput.press(KEY_ATTACK) + hw_ctrl.press(KEY_ATTACK) def _start_eating(self): """开始就地吃面包恢复。""" self._eating_started_at = time.time() - pydirectinput.press(self.food_key) + hw_ctrl.press(self.food_key) def _should_keep_eating(self, state) -> bool: """ @@ -250,7 +429,8 @@ class AutoBotMove: self.patrol_controller.reset_stuck() # 勾选"包满炉石回城":按炉石后触发停止回调 if self.logistics_manager.bag_full_hearthstone: - self.logistics_manager.use_hearthstone_and_stop() + get_state_fn = (lambda: None if self._should_stop() else parse_game_state()) + self.logistics_manager.use_hearthstone_and_stop(get_state=get_state_fn) if callable(getattr(self, '_on_hearthstone_stop', None)): self._on_hearthstone_stop() return @@ -261,7 +441,9 @@ class AutoBotMove: # 3. 战斗/有目标:停止移动,执行攻击逻辑;仅在「跑向怪」短窗口内做卡死检测 effective_target = self._is_effective_target(state) + # 核心修改:只要还在战斗中,就不算“完全脱战”,即使当前没目标(可能正在 Tab 找下一个) in_combat_or_target = bool(state['combat'] or effective_target) + if in_combat_or_target: # 被动进战时立即打断进食等待,转入正常战斗流程 self._eating_started_at = None @@ -271,41 +453,52 @@ class AutoBotMove: self.patrol_controller.stop_all() self.is_moving = False self.patrol_controller.reset_stuck() - # 跑向怪阶段的卡死检测:只在目标血量为 100% 时认为是在“刚刚开怪、接近怪物”,避免残血目标也触发跑向怪卡死逻辑 - target_hp = state.get('target_hp') - if effective_target and target_hp is not None and target_hp >= 100: - try: - if self.patrol_controller.stuck_handler.check_stuck( - state, self.patrol_controller.last_turn_end_time - ): - print(">>> [战斗] 跑向怪时可能卡住障碍物,执行脱困") - self.patrol_controller.stop_all() - self.patrol_controller.stuck_handler.resolve_stuck() - self.patrol_controller.reset_stuck() - return - except Exception: - pass - # 只有在“有效目标”成立时才真正执行攻击按键 + + # 只有在有“活的目标”时才执行攻击和交互 if effective_target: - self.execute_combat_logic(state) + target_hp = state.get('target_hp', 0) + if target_hp > 0: + now = time.time() + # 识别是否切换了新目标(血量跳变) + is_new_target = (target_hp > self.last_target_hp + 5) + if is_new_target: + self._has_braked_for_target = False + + # 1. 掉血刹车逻辑:第一次发现目标掉血且正在移动,按一下 S 停住 + if not self._has_braked_for_target and 0 < target_hp < self.last_target_hp: + hw_ctrl.keyDown('s') + time.sleep(0.05) + hw_ctrl.keyUp('s') + self._has_braked_for_target = True + + # 2. 交互键(KEY_LOOT)按键策略: + cooldown = 2.0 if not state['combat'] else 6.0 + if is_new_target or (now - self.last_interaction_time > cooldown): + hw_ctrl.press(KEY_LOOT) + self.last_interaction_time = now + + self.last_target_hp = target_hp + # 执行正常的攻击循环 + self.execute_combat_logic(state) + else: + self.last_target_hp = 0 + self._has_braked_for_target = False + self._was_in_combat_or_target = True return else: - # 从“有战斗/目标”切换到“完全脱战”的瞬间:尝试智能接回前方最近巡逻点 + # 只有当 state['combat'] 和 effective_target 均为 False 时,才执行脱战逻辑 if self._was_in_combat_or_target: - # 执行脱战拾取 + # 此时已彻底脱战,执行拾取 self.execute_disengage_loot() - x, y = state.get('x'), state.get('y') - if x is not None and y is not None: - try: - current_pos = (float(x), float(y)) - # max_ahead: 前方查看 10 个点;max_dist: 最大允许接入距离 10 - self.patrol_controller.snap_to_forward_waypoint( - current_pos, max_ahead=10, max_dist=10.0, skip_current=True - ) - except Exception: - pass - self.target_acquired_time = None # 脱战/无目标时清零,下次获得目标再计时 + + # 扫尾动作执行完后,本 tick 强制结束,防止立即按下 Tab + self._was_in_combat_or_target = False + self.target_acquired_time = None + self.last_tab_time = time.time() + 1.0 # 给找怪增加 1 秒额外冷却 + return + + self.target_acquired_time = None self._was_in_combat_or_target = False # 4. 脱战低血量:就地吃面包(最多等待 30 秒或回满) @@ -325,7 +518,7 @@ class AutoBotMove: # 5. 顺便每隔几秒按一下 Tab(主动找怪) if not effective_target and (time.time() - self.last_tab_time > 2.0): - pydirectinput.press(KEY_TAB) + hw_ctrl.press(KEY_TAB) self.last_tab_time = time.time() # 在 main 循环中使用:从 game_state 获取 state @@ -351,4 +544,4 @@ if __name__ == "__main__": bot.execute_logic(state) time.sleep(0.1) except KeyboardInterrupt: - print("\n已停止。") \ No newline at end of file + print("\n已停止。") diff --git a/build.spec b/build.spec index 18bbbbe..4e7c130 100644 --- a/build.spec +++ b/build.spec @@ -16,7 +16,6 @@ a = Analysis( binaries=[], datas=added_files, hiddenimports=[ - 'pydirectinput', 'pygetwindow', 'PIL', 'PIL._tkinter_finder', diff --git a/build_wow_multikey.spec b/build_wow_multikey.spec index 762ad1f..ad80b0c 100644 --- a/build_wow_multikey.spec +++ b/build_wow_multikey.spec @@ -20,7 +20,7 @@ a = Analysis( 'game_state', 'auto_bot_move', 'auto_bot', 'recorder', 'coordinate_patrol', 'death_manager', 'logistics_manager', 'stuck_handler', 'player_movement', 'player_position', - 'pydirectinput', 'pygetwindow', 'pyautogui', 'PIL', + 'pygetwindow', 'pyautogui', 'PIL', 'flight_mode', ], hookspath=[], diff --git a/combat_loops/DK.json b/combat_loops/DK.json index 901db7f..d752b61 100644 --- a/combat_loops/DK.json +++ b/combat_loops/DK.json @@ -3,7 +3,7 @@ "trigger_chance": 0.5, "steps": [ { - "key": "4", + "key": "1", "delay": 0.5 }, { diff --git a/ddl/chm_output/CheckZoom.html b/ddl/chm_output/CheckZoom.html new file mode 100644 index 0000000..a563046 --- /dev/null +++ b/ddl/chm_output/CheckZoom.html @@ -0,0 +1,15 @@ + + + + +豸ʱᴴ̵˵ + + + +

豸ʱᴴ̵˵

+

ļģʹô豸ĺʱܻᴴ̣CheckZoom*.exeڻȡDPIйصϢȡDPIϢƶͻȡĺӰ졣ᴴ̣˵̵ļֳһͲᴴ̣
+ 1.WIN10µİ汾ֻмϵWIN10汾ᴴ̣ᡣ
+2.WIN8.1ǰϵͳDPIǰϵͳ֪ʱ򣬴豸IJУDPIģʽʹϵͳDPI֪ÿʾDPI֪WIN8.1WIN8.1ԺϵͳDPIǰÿʾDPI֪ʱ򣬴豸IJУDPIģʽʹÿʾDPI֪
+3.豸IJУDPIģʽʹ“DPI”ʱҪƶͻȡĺģʽƵģԿ豸ĺ˵

+ + \ No newline at end of file diff --git a/ddl/chm_output/DPI.html b/ddl/chm_output/DPI.html new file mode 100644 index 0000000..ad4413c --- /dev/null +++ b/ddl/chm_output/DPI.html @@ -0,0 +1,17 @@ + + + + +DPI + + + +

DPI

+

DPIͼÿӢ糤ڵص˵ļᵽDPIʾDPIDPIҪŪˡıDPIӦóĴڡwindowsϵͳʾDPIԼã“Ļֱ”“ʾ”ҵãͬϵͳõ˵е죬磺WIN7“ŴСıĿ”WIN10“ıӦõĿĴС”WIN10汾в죬Щ汾ܲһ

+

windowsΪ˼ϳDPIжãWIN8.1ǰ“DPI֪”“ϵͳDPI֪”֣WIN8.1ʼΪֶ֧ʾͬDPI“ÿʾDPI֪”ͬDPI֪Dzͬġÿ̿ԵԼDPI֪ģWIN10ÿ߳òͬDPI֪ġ

+

“DPI֪”Ϊ˼ݲ֧DPIŵijϵͳԶ򴰿ļúܲʾDPI100%ʱֻģĻйصAPIʾزһһӦϵ

+

“ϵͳDPI֪”WIN8.1ǰĻйصAPIʾһһӦϵWIN8.1ʼʾʾDPIͬ򴰿ʾлģĻйصAPIʾزһһӦϵ

+

“ÿʾDPI֪”ĻйصAPIʾһһӦϵ

+

ʾDPI100%ʱDPI֪УĻйصAPIʾضһһӦϵ

+ + \ No newline at end of file diff --git a/ddl/chm_output/FontZoom.txt b/ddl/chm_output/FontZoom.txt new file mode 100644 index 0000000000000000000000000000000000000000..852ed9cfafb97d125b8e009097eda9d79bef26ad GIT binary patch literal 122 zcmezWPb0jXA(J7GA%!8Ip`4+Z;djmbI$b}W|H1L?smU3wfjgsH%Gy)Iqtzq%V|e{I zLYOA7PW#>cEtTj0`{1X3Y%vP+*)x7u8U%q%Wz^B1l%@cE3-DX1!f1lK}uhEG^jp literal 0 HcmV?d00001 diff --git a/ddl/chm_output/QA/css/mystyle.css b/ddl/chm_output/QA/css/mystyle.css new file mode 100644 index 0000000..48ef556 --- /dev/null +++ b/ddl/chm_output/QA/css/mystyle.css @@ -0,0 +1,6 @@ +@charset "gb2312"; +body{font-size:16px; font-family:Verdana,"";} +h1{text-align:center;} +p{text-indent:2em;} +.boldfont{font-weight:bold;} +.redfont {color: #FF0000;} \ No newline at end of file diff --git a/ddl/chm_output/QA/使用windows远程桌面时无效.html b/ddl/chm_output/QA/使用windows远程桌面时无效.html new file mode 100644 index 0000000..75ffeea --- /dev/null +++ b/ddl/chm_output/QA/使用windows远程桌面时无效.html @@ -0,0 +1,14 @@ + + + + +ʹwindowsԶʱЧ + + + +

ʹwindowsԶʱЧ

+

Ҫ˵

+

1.Զ汾IJʹúӡҪԶֺ֧ӣһDzֵ֧ġԼ̼ãԳԼԶ沢еúӲꡣ

+

2.ʹԶ鿴һ̨ϲӵǿʵֵġֵIJΪʹwindowsԴԶ棬windowsԴԶֻһûʣԶ̵¼ˣͻ޷ʹõԶ

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/创建对象失败.html b/ddl/chm_output/QA/创建对象失败.html new file mode 100644 index 0000000..f932608 --- /dev/null +++ b/ddl/chm_output/QA/创建对象失败.html @@ -0,0 +1,14 @@ + + + + +ʧ + + + +

ʧ

+

1.עdllǷɹʧܶעdll⣬ɲοעdllʧĽ

+

2.עdllļ32λ64λļҪijͬϵͳ޹ء

+

3.dllļǷC̣C̺ܶļΪȨиƣȫıأЩԭ׵dllעʧܣԲƼC̡

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/找不到dll文件或函数.html b/ddl/chm_output/QA/找不到dll文件或函数.html new file mode 100644 index 0000000..2460bba --- /dev/null +++ b/ddl/chm_output/QA/找不到dll文件或函数.html @@ -0,0 +1,14 @@ + + + + +Ҳdllļ + + + +

Ҳdllļ

+

1.dllļǷźû߳еdllļ·ǷȷֻʹdllļԷڳļ·¡

+

2.dllļǷȷ32λ32λdllļ64λ64λdllļϵͳͬԡ顢TC32λɵСҲ32λġ

+

3.麯еĺǷȷĸ߶˿ո

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/是否需要注册dll文件.html b/ddl/chm_output/QA/是否需要注册dll文件.html new file mode 100644 index 0000000..20b897d --- /dev/null +++ b/ddl/chm_output/QA/是否需要注册dll文件.html @@ -0,0 +1,13 @@ + + + + +ǷҪעdllļ + + + +

ǷҪעdllļ

+

ģ֧comӿںͱ׼dllӿ(ϵͳAPIͬӿ)ʹcomӿںҪעᣬʹñ׼dllӿںעᡣ +

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/注册dll失败.html b/ddl/chm_output/QA/注册dll失败.html new file mode 100644 index 0000000..edc75d9 --- /dev/null +++ b/ddl/chm_output/QA/注册dll失败.html @@ -0,0 +1,13 @@ + + + + +עdllʧ + + + +

עdllʧ

+

1.dllļ·Ƿȷ

+

2.regsvr32עᣬҪעõregsvr3232λ64λģҪ뱻עdllͬ32λϵͳеregsvr3232λġ64λϵͳregsvr3232λ64λڲͬļУ32λregsvr32ͨ“C:\Windows\SysWow64”ļУ64λregsvr32ͨ“C:\Windows\Sytem32”ļС

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/电脑USB插口不够用.html b/ddl/chm_output/QA/电脑USB插口不够用.html new file mode 100644 index 0000000..d8c7f56 --- /dev/null +++ b/ddl/chm_output/QA/电脑USB插口不够用.html @@ -0,0 +1,12 @@ + + + + +USBڲ + + + +

USBڲ

+

Ϥ˲˵ǻЩ˲֪һ¡ʹusb hubҲusbչusbڵ裬ӿԲʹãĵ̺Ϻܶ๺ƽ̨עһusb hubƣֻڳ磬ֲӻĹĺܵͣusb hubϲӹĽϴusb豸ֻҪusb hubϲ˼ʮӣusb hubǷҪӵԴûرҪ

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/相对鼠标、相对移动、绝对鼠标、绝对移动的区别.html b/ddl/chm_output/QA/相对鼠标、相对移动、绝对鼠标、绝对移动的区别.html new file mode 100644 index 0000000..d119138 --- /dev/null +++ b/ddl/chm_output/QA/相对鼠标、相对移动、绝对鼠标、绝对移动的区别.html @@ -0,0 +1,13 @@ + + + + +ꡢƶꡢƶ + + + +

ꡢƶꡢƶ

+

;Ӳƶķʽһʵ궼꣬Ŀǰûʵо깦ܡļ޸޸ģʽ

+

ƶ;ƶǺܡƶƶָĻꡣƶƶĻƶǰĻIJֵƶΧᵼʵƶֵС䡣ƶ;ƶûбȻϵʵ־ƶʵƶ

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/调用模块中的函数时报堆栈错误.html b/ddl/chm_output/QA/调用模块中的函数时报堆栈错误.html new file mode 100644 index 0000000..1c61714 --- /dev/null +++ b/ddl/chm_output/QA/调用模块中的函数时报堆栈错误.html @@ -0,0 +1,13 @@ + + + + +ģеĺʱջ + + + +

ģеĺʱջ

+

1.dll汾Ƿȷͬ汾dllЩʱͨdll汾ű仯ʱ

+

2.麯ǷȷҪ糣64λ32λŪˡ

+ + \ No newline at end of file diff --git a/ddl/chm_output/QA/鼠标移动模式如何设置.html b/ddl/chm_output/QA/鼠标移动模式如何设置.html new file mode 100644 index 0000000..101515e --- /dev/null +++ b/ddl/chm_output/QA/鼠标移动模式如何设置.html @@ -0,0 +1,16 @@ + + + + +ƶģʽ + + + +

ƶģʽ

+

ƶģʽͨHKMSetModeSetModeãֵΪ2ʱģʽֵƶģʽɶHKMMoveToHKMMoveRHKMoveR2MoveToMoveRMoveR2ãHKMMoveRPMoveRPЧƶģʽģʽֵľֵӦ˵ԿHKMSetModeSetModeĺ˵עֵһҲǶֵϣλ㣩ֵֵܼ

+

1.Ĭֵ0ûʹHKMSetModeSetModeƶģʽʱֵ߹켣ƶͣʱӼ١

+

2.ƶߺͼӼ٣ģ˹ƶֻ׷ٶȡʹģʽֵ5(1ƶģʽ4ƶģʽ)ҪעǣʹֵʱҪʹHKMMoveToHKMoveR2MoveToMoveR2ʱȷֻûʹ“ָ뾫ȷ”“ѡָƶٶ”м䣨ƶĻı1:1ʱʹãwin10ĻDpiҪ100%

+

3.ƶߵ޼Ӽ١ʹģʽֵ12(4ƶģʽ8ģʽ)20(4ƶģʽ16ģʽ)ģʽͶģʽԿHKMSetModeSetMode˵ҪעǣʹֵʱҪʹHKMMoveToHKMoveR2MoveToMoveR2ʱҪȷֻûʹ“ָ뾫ȷ”“ѡָƶٶ”м䣨ƶĻı1:1ʱʹãwin10ĻDpiҪ100%

+

4.ƶ“ļ޸”þʹãʹģʽֵ2ƶʹþʹHKMSetModeSetModeƶģʽΪƶģʽʹHKMMoveToHKMoveR2MoveToMoveR2ƶģʽʹá޸õ“”“+”HKMMoveRMoveRЧHKMMoveR2MoveR2á

+ + \ No newline at end of file diff --git a/ddl/chm_output/ReadMe.html b/ddl/chm_output/ReadMe.html new file mode 100644 index 0000000..364a21b --- /dev/null +++ b/ddl/chm_output/ReadMe.html @@ -0,0 +1,19 @@ + + + + + + + + +

+

ļģӲϵָָм

+

ļӻֻһUSBڣڵԵҲļӻѹоƬESD˲ƷȶԺʹ֧޸USBӿϢָ֧¹̼

+

ļ׵IJģۼƶֹ߶ģֶ֧ϵͳdpiźͶʾ

+

ϵͳ֧֣windows7ԺIJϵͳ32λϵͳ64λϵͳ

+

֧֣֧32λ64λ

+

ߣ

+361
+QQȺ78281374֤Ϣhkm + + \ No newline at end of file diff --git a/ddl/chm_output/SimulationMethod.html b/ddl/chm_output/SimulationMethod.html new file mode 100644 index 0000000..e10888a --- /dev/null +++ b/ddl/chm_output/SimulationMethod.html @@ -0,0 +1,16 @@ + + + + +ֶģȵ˵ + + + +

ֶģȵ˵

+

ļģĬöģֶģЩΪijЩԭûаֶΪãҪ߶ģֶҪ޸ã޸ĵ£
+1.ƫƺHKMSetMousePosMaxOffsetSetMousePosMaxOffsetĬƫΪ0ƫƣƶʱÿζȷƶͬһ꣬Ҫóָ㸽,Ҫָ֮ƫ3ǶҪʵȷ̫СͲʵ̫пܳĿ귶Χ
+2.ƶֵȲ´β֮ҪиʱʱҪʱʱHKMDelayRndDelayRndͬʱСֵDzͬͬļʱСֵҵIJ100븽ͬļʱֵһ㣬130롣ͬˣСֵв죬Ǹοֵ
+3.ַģʽúHKMSetModeSetModeĬ0ģʽ1ģʽָܸӰСЩ2ģʽ3ģʽ֡ĸַʱֶһ
+4.ӵVIDֵǼ곧ģеĻԽ޸ijʵ̻곧ֵʹ“ļ޸”޸ġԿӲϢ˵

+ + \ No newline at end of file diff --git a/ddl/chm_output/SpeedMethod.html b/ddl/chm_output/SpeedMethod.html new file mode 100644 index 0000000..ce3b09b --- /dev/null +++ b/ddl/chm_output/SpeedMethod.html @@ -0,0 +1,18 @@ + + + + +ٶȵķ + + + +

ٶȵķ

+

Ӱٶȵ֪£

+

1.ͼ̰ʱӰ죬ʹHKMSetKeyIntervalSetKeyIntervalHKMSetMouseIntervalSetMouseInterval޸ġ

+

2.ƶٶӰ죬ʹHKMSetMouseSpeedSetMouseSpeed޸ġ

+

3.ƶģʽӰ죬ʹHKMSetModeSetMode޸ġ

+

4.ʱӰ죬ʱ“ļ޸”޸ģļӻһ̼1.10ʼ֧֣汾͵Ҫ˹ܿԼ̼

+

5.CPUʹ̫ʱҲӰٶȡ

+

6.ٶȻܶࡣ

+ + \ No newline at end of file diff --git a/ddl/chm_output/UsageMethod.html b/ddl/chm_output/UsageMethod.html new file mode 100644 index 0000000..2d4a155 --- /dev/null +++ b/ddl/chm_output/UsageMethod.html @@ -0,0 +1,36 @@ + + + + +ʹ÷ + + + +

ʹ˵

+

ļͨwyhkm.dllģƣ֧windows7ԺIJϵͳwyhkm.dllĵֱ֧׼dllӿںcomӿڡwyhkm.dllģ32λ64λ֣32λ32λģ飬64λ64λģ顣

+

׼dllӿڵĵúϵͳAPIһͲ˵ˡ

+

comӿںͳcomӿڵdllһñģҲעᣬٴ

+

COMӿڵ

+

1.ע᣺

+

עַע᷽ע᷽ע᷽дעܵ°ȫ߱⡣ע᷽дעûЩ⣬ֻڵǰЧµĽҪעᡣ

+

1)ע᷽ͬһ̨ϣģļ·仯ʱֻҪעһμɡ
+ ע᱾ģʹregsvr32ҲֱӵñģDllRegisterServerӿڡ
+ ע᱾ģvbs(ԱȨ)
+ Set wshshell = CreateObject("wscript.shell")
+ wshshell.run "regsvr32 /s ""D:\Plugin\wyhkm.dll"""
+ ޹ԱȨעģ£
+ Set wshshell = CreateObject("wscript.shell")
+ wshshell.run "regsvr32 /s /n /i:user ""D:\Plugin\wyhkm.dll"""

+

ע⣺64λϵͳʹõ32λģ飬˫ֱvbsļ64λűִִУᵼʧܡC:\Windows\SysWOW64\cmd.exeٵvbsģˡ

+

2)ע᷽ģDllInstallһ32λ1ڶ32/64λ2(32λģ32λ64λģ64λ)ֵڵ0ʱעɹvbsֱ֧ӵdllĵͲˡ

+

2.

+

+ ģеĺʹǰȴʹöú
+ ģĶvbs£
+Set wyhkm=CreateObject("wyp.hkm")

+

úӣעᣩ
+ Set wyhkm=CreateObject("wyp.hkm")
+ ver = wyhkm.GetVersion()
+ MsgBox "ģ汾" & Hex(ver), 4096

+ + \ No newline at end of file diff --git a/ddl/chm_output/UseIntoVMWare.html b/ddl/chm_output/UseIntoVMWare.html new file mode 100644 index 0000000..0ac49ef --- /dev/null +++ b/ddl/chm_output/UseIntoVMWare.html @@ -0,0 +1,29 @@ + + + + +VMWareʹõķ + + + +

VMWareʹõķ

+

VMWareͬ汾Щ죬VMWare 14Ϊ

+

1.

+

VMWareĬϲʾ,޷Ӻ,:

+

1)ʱVMWareУҪӺӵҪδ״̬Ȱرա

+

2)VMWareУѡҪӺӵȻVMWare˵ѡ->ãڵ“”Իе“Ӳ”ѡУѡ“USB”ѡұߵ“ʾUSB豸”ѡٵԻ“ȷ”ť
+
+

+

ЩãVMWare֧ӺˣûԶӺӣҪֶϣ£

+

1
+

+

2)VMWareУѡҪӺӵȻVMWare˵ѡ->ƶ豸->ӵIJƷ->(Ͽ )ӵIJƷƿ׵Ĺ߲鿴
+

+

2.

+

ļӿвӿеļ꣬Ҳвӿеļꡣ

+

2.1в

+

ڲǰãʹúӿеļͬͲ˵ˡ

+

2.2в

+

вӿеļʱƶһʹúӿеļͬƶָҪʹþ(ֻƶʱҪ)ļӻһ̼1.2.0ſʼ֧־꣬Ĭδʹúӵ׹߿ģʱҪʹHKMSetModeSetModeƶģʽҪʹHKMSetAbsMouseScrnResSetAbsMouseScrnResĻֱʣеĻֱǶ٣Ϊ٣ƶ᲻׼ȷ

+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/BSTR.html b/ddl/chm_output/com_fun/BSTR.html new file mode 100644 index 0000000..fbb221b --- /dev/null +++ b/ddl/chm_output/com_fun/BSTR.html @@ -0,0 +1,20 @@ + + + + +BSTR + + + + + + + + + + + + +
BSTR
һְϢַ
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/CheckPressedKeys.html b/ddl/chm_output/com_fun/CheckPressedKeys.html new file mode 100644 index 0000000..3d45566 --- /dev/null +++ b/ddl/chm_output/com_fun/CheckPressedKeys.html @@ -0,0 +1,55 @@ + + + + +CheckPressedKeys + + + + + + + + + + + + + + + + + + + + + + + + +
CheckPressedKeys 鰴
̡Щ¡ڳǰЩ̻ļijԭ򱻰δеĴϿˣʵ߼ϲδӰļ̡ȼһ¡
1ģʽ32λĹʽȡֵһʱȡ0Ҫͬʱʹöֵɽֵ㡣ȡֵ
+ + + + + + + + + + + + + +
ֵ˵
1صַĵϢȫӢĵϢ
2صַµϢֻµļ̼
ֵBSTR͡δ⵽бµļ“OK”ַ⵽бµļرµļϢʧܣؿַ
vbs
Dim str
+ str=wyhkm.CheckPressedKeys(1)
+ If str=vbNullString Then
+     MsgBox "ʧ",4096
+     wscript.quit
+ End If
+ If str="OK" Then
+     MsgBox "鵽" & str & "£ǰδ߼̹ϣӰΪ˻ָǣ볢µЩ",4096
+     wscript.quit
+ End If
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/Close.html b/ddl/chm_output/com_fun/Close.html new file mode 100644 index 0000000..7df095a --- /dev/null +++ b/ddl/chm_output/com_fun/Close.html @@ -0,0 +1,43 @@ + + + + +Close + + + + + + + + + + + + + + + + + + + + + + + + +
Close ر豸
رOpen򿪵豸вʱʹô˺ر豸ͷռõԴ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+    wscript.quit
+ End If
+ 'ִв
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/DelayRnd.html b/ddl/chm_output/com_fun/DelayRnd.html new file mode 100644 index 0000000..43c3f8d --- /dev/null +++ b/ddl/chm_output/com_fun/DelayRnd.html @@ -0,0 +1,46 @@ + + + + +DelayRnd + + + + + + + + + + + + + + + + + + + + + + + + +
DelayRnd ʱ
һ趨ʱ䷶ΧʱʹOpen豸ſʹ
1ʱ䣺32λλ롣
+ 2ʱ䣺32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.LeftDown
+ wyhkm.DelayRnd 90,120
+ wyhkm.LeftUp
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/EnableOSMouseAccelerate.html b/ddl/chm_output/com_fun/EnableOSMouseAccelerate.html new file mode 100644 index 0000000..bed9608 --- /dev/null +++ b/ddl/chm_output/com_fun/EnableOSMouseAccelerate.html @@ -0,0 +1,33 @@ + + + + +EnableOSMouseAccelerate + + + + + + + + + + + + + + + + + + + + + + + + +
EnableOSMouseAccelerate ͣϵͳ
ֹͣϵͳٹܡϵͳٹϵͳе“ָ뾫ȷ”Ĭǿġƶʱϵͳи죬ƶʱϵͳиϵͳеƶ벻ǹ̶ı
1Ƿֵȡtrueʱϵͳ٣ȡfalseʱֹͣϵͳ١
+2Ƿ񱣴棺ֵȡtrueʱϵͳȻЧȡfalseʱϵͳָá
ֵֵɹtrueʧܷfalse
vbs
EnableOSMouseAccelerate(false,false)
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetCursorPos.html b/ddl/chm_output/com_fun/GetCursorPos.html new file mode 100644 index 0000000..b14ff97 --- /dev/null +++ b/ddl/chm_output/com_fun/GetCursorPos.html @@ -0,0 +1,48 @@ + + + + +GetCursorPos + + + + + + + + + + + + + + + + + + + + + + + + +
GetCursorPos
òϵͳеꡣʹOpen豸ſʹ
1꣺ͣ32λַڽꡣ
+ 2꣺ͣ32λַڽꡣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId,x,y
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.GetCursorPos(x,y) Then
+     MsgBox "ʧ\n",4096
+    wscript.quit
+ End If
+ MsgBox "꣺"&CStr(x)&","&CStr(y),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetCursorPos2.html b/ddl/chm_output/com_fun/GetCursorPos2.html new file mode 100644 index 0000000..6c18d98 --- /dev/null +++ b/ddl/chm_output/com_fun/GetCursorPos2.html @@ -0,0 +1,52 @@ + + + + +GetCursorPos2 + + + + + + + + + + + + + + + + + + + + + + + + +
GetCursorPos2
òϵͳеꡣGetCursorPosȫֻͬΪ˽Բֲַ֧⡣ʹOpen豸ſʹ
 
ֵ32λ16λǺ꣬16λꡣ
vbs
Function GetX(pos)
+     GetX=CInt("&h" & Hex(pos And &h0000FFFF&))
+ End Function
+
+Function GetY(pos)
+    GetY=CInt((pos And &hFFFF0000&)/&h10000&)
+End Function
+
+ Dim DevId,pos
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ pos=wyhkm.GetCursorPos2()
+ MsgBox "꣺"&CStr(GetX(pos))&","&CStr(GetY(pos)),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetDevInfo.html b/ddl/chm_output/com_fun/GetDevInfo.html new file mode 100644 index 0000000..6b33f3f --- /dev/null +++ b/ddl/chm_output/com_fun/GetDevInfo.html @@ -0,0 +1,86 @@ + + + + +GetDevInfo + + + + + + + + + + + + + + + + + + + + + + + + +
GetDevInfo 豸Ϣ
ļӵ豸Ϣļӻһִ֧˺ʹOpen豸ſʹ
1ţ32λҪȡϢšȡֵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
˵
1豸͡ļӻһ1ļӻ2
2̼汾ֵУ0-15λ޶ţ16-23λǸ汾ţ24-31λ汾š
3ʱ䡣ֵǴͨ߸λʼеĺϵ͸λ㡣ϵͳʱʱʱ侫Ȳߣ
4ͨʱ䡣ֵǴͨ翪ʼеĺϵ㣬λ㡣ϵͳʱʱʱ侫Ȳߣ
6λ
7״̬豸δӷ-1豸׼з0״̬1༭״̬2ֹ״̬3
8USB豸ӿڵVIDֵ
9USB豸ӿڵPIDֵ
10USB豸ӿڵ豸汾ֵ
+2Ƿ꣺ֵȡfalseʱԶ豸Ϣͬʱмģʽģʽ豸üģʽ豸ϢȡtrueʱԶ豸Ϣͬʱмģʽģʽ豸ģʽ豸Ϣ
ֵ32λֵɲ1
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "ļӹ̼汾ţ" & Hex(wyhkm.GetDevInfo(2,false)),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetDevString.html b/ddl/chm_output/com_fun/GetDevString.html new file mode 100644 index 0000000..3957876 --- /dev/null +++ b/ddl/chm_output/com_fun/GetDevString.html @@ -0,0 +1,58 @@ + + + + +GetDevString + + + + + + + + + + + + + + + + + + + + + + + + +
GetDevString 豸ַ
豸صַʹOpen豸ſʹ
1ţ32λҪȡַšȡֵ£
+ + + + + + + + + + + + + +
ֵ˵
1
2Ʒ
+2Ƿ꣺ֵȡfalseʱԶ豸ַͬʱмģʽģʽ豸üģʽ豸ַȡtrueʱԶ豸ַͬʱмģʽģʽ豸ģʽ豸ַ
ֵ BSTR͡ʧܷؿַ
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "ļ̣" & wyhkm.GetDevString(1,false),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetError.html b/ddl/chm_output/com_fun/GetError.html new file mode 100644 index 0000000..11311f4 --- /dev/null +++ b/ddl/chm_output/com_fun/GetError.html @@ -0,0 +1,131 @@ + + + + +GetError + + + + + + + + + + + + + + + + + + + + + + + + +
GetError ô
ô롣Ҫô豸йغִкִиúִ豸йغḲ֮ǰֵʹOpen豸ſʹ
 
ֵ32λ16λǴ룬16λǴšУ0dzɹ57344ϵͳ룬ϵͳAPI“GetLastError”õֵֵͬĽͿ΢վ鿴ڻ57344Ĵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵ֵ˵
0000(0)ɹE020(57376)豸ʧ
E001(57345)ʧE021(57377)ͨʧ
E002(57346)ЧIJE022(57378)޷Ȩ
E003(57347)ЧָE023(57379)ʱ
E004(57348)ЧĶE024(57380)Ӧʧ
E005(57349)ЧijʼֵE025(57381)
E006(57350)ЧE026(57382)ȡDPIϢʧ
E007(57351)̫E027(57383)ȡʧ
E008(57352)ַ̫E028(57384)豸ʧ
E009(57353)̫СE029(57385)豸ʱ
E00A(57354)֧  
E00B(57355)Ѵ  
E00C(57356)ϵͳ  
vbs
+
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MoveR 100,50
+MsgBox "룺" & wyhkm.GetError(),4096
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetKeyboardLEDState.html b/ddl/chm_output/com_fun/GetKeyboardLEDState.html new file mode 100644 index 0000000..cbe7c11 --- /dev/null +++ b/ddl/chm_output/com_fun/GetKeyboardLEDState.html @@ -0,0 +1,67 @@ + + + + +GetKeyboardLEDState + + + + + + + + + + + + + + + + + + + + + + + + +
GetKeyboardLEDState üLED״̬
üNum LockCaps LockScroll LockƵ״̬ʹOpen豸ſʹ
1̵ƣ32λȡֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0Num Lock
1Caps Lock
2Scroll Lock
ֵֵtrue𷵻false
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ If + wyhkm.GetKeyboardLEDState(0) Then
+     MsgBox "NumLock",4096
+ Else
+     MsgBox "NumLock",4096
+ End If +
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetKeyboardMode.html b/ddl/chm_output/com_fun/GetKeyboardMode.html new file mode 100644 index 0000000..de9116b --- /dev/null +++ b/ddl/chm_output/com_fun/GetKeyboardMode.html @@ -0,0 +1,61 @@ + + + + +GetKeyboardMode + + + + + + + + + + + + + + + + + + + + + + + + +
GetKeyboardMode ģʽ
ļӵļģʽļӻĹ̼汾ڵ1.1.0ִ֧˺ʹOpen豸ſʹ
 
ֵ32λģʽʧܷ-1ɹֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0޼
1ͨ
5Ϸ
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "ģʽ" & CStr(wyhkm.GetKeyboardMode()),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetMouseMode.html b/ddl/chm_output/com_fun/GetMouseMode.html new file mode 100644 index 0000000..4c3cc53 --- /dev/null +++ b/ddl/chm_output/com_fun/GetMouseMode.html @@ -0,0 +1,73 @@ + + + + +GetMouseMode + + + + + + + + + + + + + + + + + + + + + + + + +
GetMouseMode ģʽ
ļӵģʽļӻһĹ̼汾ڵ1.2.0ִ֧˺ʹOpen豸ſʹ
 
ֵ32λģʽʧܷ-1ɹֵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0
1
2
3+
5Ϸ
7Ϸ+
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "ģʽ" & CStr(wyhkm.GetMouseMode()),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetOSMouseSpeed.html b/ddl/chm_output/com_fun/GetOSMouseSpeed.html new file mode 100644 index 0000000..5135dc6 --- /dev/null +++ b/ddl/chm_output/com_fun/GetOSMouseSpeed.html @@ -0,0 +1,32 @@ + + + + +GetOSMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
GetOSMouseSpeed ϵͳٶ
ϵͳٶȡϵͳٶϵͳе“ѡָƶٶ”õƶٶϵͳƶٶȵı
 
ֵ32λɹʱֵķΧ1-20ֵԽϵͳеٶԽ죬ϵͳĬֵ10ʧܷ0
vbs
MsgBox "ϵͳٶȣ" & wyhkm.GetOSMouseSpeed(),4096
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetSerialNumber.html b/ddl/chm_output/com_fun/GetSerialNumber.html new file mode 100644 index 0000000..99f3d23 --- /dev/null +++ b/ddl/chm_output/com_fun/GetSerialNumber.html @@ -0,0 +1,43 @@ + + + + +GetSerialNumber + + + + + + + + + + + + + + + + + + + + + + + + +
GetSerialNumber к
ļӵкšʹOpen豸ſʹ
1Ƿ꣺ֵȡfalseʱԶ豸кţͬʱмģʽģʽ豸üģʽ豸кšȡtrueʱԶ豸кţͬʱмģʽģʽ豸ģʽ豸кš
ֵ32λ
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "ļкţ" & Hex(wyhkm.GetSerialNumber(false)),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/GetVersion.html b/ddl/chm_output/com_fun/GetVersion.html new file mode 100644 index 0000000..b5d7e67 --- /dev/null +++ b/ddl/chm_output/com_fun/GetVersion.html @@ -0,0 +1,32 @@ + + + + +GetVersion + + + + + + + + + + + + + + + + + + + + + + + + +
GetVersion õǰģ汾
õǰģ汾
 
ֵ32λ0-15λ޶ţ16-23λǸ汾ţ24-31λ汾š
vbs
MsgBox "汾ţ" & Hex(wyhkm.GetVersion()),4096
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsKeyBusy.html b/ddl/chm_output/com_fun/IsKeyBusy.html new file mode 100644 index 0000000..ee24316 --- /dev/null +++ b/ddl/chm_output/com_fun/IsKeyBusy.html @@ -0,0 +1,47 @@ + + + + +IsKeyBusy + + + + + + + + + + + + + + + + + + + + + + + + +
IsKeyBusy жϼǷæ
жļӵļǷæʹOpen豸ſʹ
 
ֵֵætrueзfalse
vbs

Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ If wyhkm.IsKeyBusy() Then
+     MsgBox "ļӼ̷æ",4096
+ Else
+     MsgBox "ļӼ̿",4096
+ End If
+ wyhkm.Close

+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsKeyDown.html b/ddl/chm_output/com_fun/IsKeyDown.html new file mode 100644 index 0000000..d7feaee --- /dev/null +++ b/ddl/chm_output/com_fun/IsKeyDown.html @@ -0,0 +1,47 @@ + + + + +IsKeyDown + + + + + + + + + + + + + + + + + + + + + + + + +
IsKeyDown жϼǷ
жļӵļ̵ļǷ¡ʹOpen豸ſʹ
1ͣ32λBSTRͣʹ32λʹBSTR͡Ͱɲ鿴
ֵֵ·trueû»ʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.KeyDown "Alt"
+ MsgBox "Alt״̬:" & CStr(wyhkm.IsKeyDown("Alt"))
+ wyhkm.DelayRnd 90,120
+ wyhkm.KeyUp "Alt"
+ MsgBox "Alt״̬:" & CStr(wyhkm.IsKeyDown("Alt"))
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsMouseBusy.html b/ddl/chm_output/com_fun/IsMouseBusy.html new file mode 100644 index 0000000..8484ca0 --- /dev/null +++ b/ddl/chm_output/com_fun/IsMouseBusy.html @@ -0,0 +1,47 @@ + + + + +IsMouseBusy + + + + + + + + + + + + + + + + + + + + + + + + +
IsMouseBusy жǷæ
жļӵǷæʹOpen豸ſʹ
 
ֵֵætrueзfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+If wyhkm.IsMouseBusy() Then
+    MsgBox "ļӼ̷æ",4096
+Else
+    MsgBox "ļӼ̿",4096
+End If
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsMouseButtonDown.html b/ddl/chm_output/com_fun/IsMouseButtonDown.html new file mode 100644 index 0000000..3183347 --- /dev/null +++ b/ddl/chm_output/com_fun/IsMouseButtonDown.html @@ -0,0 +1,65 @@ + + + + +IsMouseButtonDown + + + + + + + + + + + + + + + + + + + + + + + + +
IsMouseButtonDown жǷ
жļӵļǷ¡ʹOpen豸ſʹ
132λȡֵ¡
+ + + + + + + + + + + + + + + + + +
˵
0
1Ҽ
2м
ֵֵ·trueû»ʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.LeftDown
+MsgBox "״̬:" & CStr(wyhkm.IsMouseButtonDown(0))
+wyhkm.DelayRnd 90,120
+wyhkm.LeftUp
+MsgBox "״̬:" & CStr(wyhkm.IsMouseButtonDown(0))
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsOSMouseAccelerateEnabled.html b/ddl/chm_output/com_fun/IsOSMouseAccelerateEnabled.html new file mode 100644 index 0000000..6bc129b --- /dev/null +++ b/ddl/chm_output/com_fun/IsOSMouseAccelerateEnabled.html @@ -0,0 +1,36 @@ + + + + +IsOSMouseAccelerateEnabled + + + + + + + + + + + + + + + + + + + + + + + + +
IsOSMouseAccelerateEnabled жǷϵͳ
жǷϵͳٹܡϵͳٹϵͳе“ָ뾫ȷ”Ĭǿġƶʱϵͳи죬ƶʱϵͳиϵͳеƶ벻ǹ̶ı
 
ֵֵѿϵͳٷtrueδϵͳٷfalse
vbs
If IsOSMouseAccelerateEnabled() Then
+     MsgBox "ѿϵͳ",4096
+ Else
+     MsgBox "δϵͳ",4096
+ End If
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/IsOpen.html b/ddl/chm_output/com_fun/IsOpen.html new file mode 100644 index 0000000..5a3f67d --- /dev/null +++ b/ddl/chm_output/com_fun/IsOpen.html @@ -0,0 +1,65 @@ + + + + +IsOpen + + + + + + + + + + + + + + + + + + + + + + + + +
IsOpen ж豸Ƿ
ж豸ǷѾOpen򿪡
132λȡֵһҪͬʱʹöֵɽֵ㡣ȡֵ
+ + + + + + + + + + + + + + + + + +
ֵ˵
0ж豸Ƿ񱻴򿪣󡢼̻ģʽ豸ԣֵͬʱʹã
1жϼǷ񱻴򿪣߼ģʽ豸
2жǷ񱻴򿪣ģʽ豸
ֵֵѴ򿪷trueδ򿪷false
vbs

Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ If wyhkm.IsOpen(0) Then
+     MsgBox "ļѴ",4096
+ Else
+     MsgBox "ļδ",4096
+ End If
+ wyhkm.Close

+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/KeyDown.html b/ddl/chm_output/com_fun/KeyDown.html new file mode 100644 index 0000000..9f1a63f --- /dev/null +++ b/ddl/chm_output/com_fun/KeyDown.html @@ -0,0 +1,45 @@ + + + + +KeyDown + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDown ̰
̵ļ¡ʹOpen豸ſʹ
1ͣ32λBSTRͣʹ32λʹBSTR͡Ͱɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.KeyDown "F1"
+ wyhkm.DelayRnd 90,120
+ wyhkm.KeyUp "F1"
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/KeyPress.html b/ddl/chm_output/com_fun/KeyPress.html new file mode 100644 index 0000000..6c7dbaa --- /dev/null +++ b/ddl/chm_output/com_fun/KeyPress.html @@ -0,0 +1,43 @@ + + + + +KeyPress + + + + + + + + + + + + + + + + + + + + + + + + +
KeyPress ̰
̵ļٵʹOpen豸ſʹṵ̈º͵ʱʹSetKeyInterval
1ͣ32λBSTRͣʹ32λʹBSTR͡Ͱɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.KeyPress "F1"
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/KeyUp.html b/ddl/chm_output/com_fun/KeyUp.html new file mode 100644 index 0000000..18998fa --- /dev/null +++ b/ddl/chm_output/com_fun/KeyUp.html @@ -0,0 +1,46 @@ + + + + +KeyUp + + + + + + + + + + + + + + + + + + + + + + + + +
KeyUp ̵
̵ļʹOpen豸ſʹ
1ͣ32λBSTRͣʹ32λʹBSTR͡Ͱɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹtrueʧܷfalse
vbs
+
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.KeyDown "F1"
+wyhkm.DelayRnd 90,120
+wyhkm.KeyUp "F1"
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/LeftClick.html b/ddl/chm_output/com_fun/LeftClick.html new file mode 100644 index 0000000..1af1dae --- /dev/null +++ b/ddl/chm_output/com_fun/LeftClick.html @@ -0,0 +1,43 @@ + + + + +LeftClick + + + + + + + + + + + + + + + + + + + + + + + + +
LeftClick
ʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.LeftClick
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/LeftDoubleClick.html b/ddl/chm_output/com_fun/LeftDoubleClick.html new file mode 100644 index 0000000..02b258a --- /dev/null +++ b/ddl/chm_output/com_fun/LeftDoubleClick.html @@ -0,0 +1,43 @@ + + + + +LeftDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
LeftDoubleClick ˫
˫ʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.LeftDoubleClick
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/LeftDown.html b/ddl/chm_output/com_fun/LeftDown.html new file mode 100644 index 0000000..cb7ef2b --- /dev/null +++ b/ddl/chm_output/com_fun/LeftDown.html @@ -0,0 +1,45 @@ + + + + +LeftDown + + + + + + + + + + + + + + + + + + + + + + + + +
LeftDown
¡ʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.LeftDown
+ wyhkm.DelayRnd 90,120
+ wyhkm.LeftUp
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/LeftUp.html b/ddl/chm_output/com_fun/LeftUp.html new file mode 100644 index 0000000..e9cf2ad --- /dev/null +++ b/ddl/chm_output/com_fun/LeftUp.html @@ -0,0 +1,45 @@ + + + + +LeftUp + + + + + + + + + + + + + + + + + + + + + + + + +
LeftUp
ʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.LeftDown
+wyhkm.DelayRnd 90,120
+wyhkm.LeftUp
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MiddleClick.html b/ddl/chm_output/com_fun/MiddleClick.html new file mode 100644 index 0000000..fdc4f28 --- /dev/null +++ b/ddl/chm_output/com_fun/MiddleClick.html @@ -0,0 +1,43 @@ + + + + +MiddleClick + + + + + + + + + + + + + + + + + + + + + + + + +
MiddleClick м
мʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MiddleClick
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MiddleDoubleClick.html b/ddl/chm_output/com_fun/MiddleDoubleClick.html new file mode 100644 index 0000000..c230873 --- /dev/null +++ b/ddl/chm_output/com_fun/MiddleDoubleClick.html @@ -0,0 +1,43 @@ + + + + +MiddleDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
MiddleDoubleClick м˫
м˫ʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MiddleDoubleClick
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MiddleDown.html b/ddl/chm_output/com_fun/MiddleDown.html new file mode 100644 index 0000000..c6cc0a6 --- /dev/null +++ b/ddl/chm_output/com_fun/MiddleDown.html @@ -0,0 +1,45 @@ + + + + +MiddleDown + + + + + + + + + + + + + + + + + + + + + + + + +
MiddleDown м
м¡ʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MiddleDown
+wyhkm.DelayRnd 90,120
+wyhkm.MiddleUp
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MiddleUp.html b/ddl/chm_output/com_fun/MiddleUp.html new file mode 100644 index 0000000..0fc1d85 --- /dev/null +++ b/ddl/chm_output/com_fun/MiddleUp.html @@ -0,0 +1,45 @@ + + + + +MiddleUp + + + + + + + + + + + + + + + + + + + + + + + + +
MiddleUp м
мʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MiddleDown
+wyhkm.DelayRnd 90,120
+wyhkm.MiddleUp
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MouseWheel.html b/ddl/chm_output/com_fun/MouseWheel.html new file mode 100644 index 0000000..02e305a --- /dev/null +++ b/ddl/chm_output/com_fun/MouseWheel.html @@ -0,0 +1,43 @@ + + + + +MouseWheel + + + + + + + + + + + + + + + + + + + + + + + + +
MouseWheel
ֹʹOpen豸ſʹصúSetMode
132λǹֹϹ¹Ǹ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.MouseWheel 3
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MouseWheelP.html b/ddl/chm_output/com_fun/MouseWheelP.html new file mode 100644 index 0000000..e2302c7 --- /dev/null +++ b/ddl/chm_output/com_fun/MouseWheelP.html @@ -0,0 +1,43 @@ + + + + +MouseWheelP + + + + + + + + + + + + + + + + + + + + + + + + +
MouseWheelP
ײĹֹUSBײһιֹһĴ127(ֶοֵ3)ڸʹԼʵֹʹOpen豸ſʹصúSetMode
132λǹֹϹ¹Ǹ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.MouseWheelP 3
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MoveR.html b/ddl/chm_output/com_fun/MoveR.html new file mode 100644 index 0000000..92e68ca --- /dev/null +++ b/ddl/chm_output/com_fun/MoveR.html @@ -0,0 +1,44 @@ + + + + +MoveR + + + + + + + + + + + + + + + + + + + + + + + + +
MoveR ƶ
ƶʹOpen豸ſʹƶƶϵͳĬʹ٣ʵƶĻƶ벻ͬϵͳ㷨Ӱ죬ƶͬʱƶľҲǹ̶ġɹرϵͳ(ָ뾫ȷ)ƶ׼⡣صúSetMode
1꣺32λƶĺꡣ
+ 2꣺32λƶꡣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MoveR 100,50
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MoveR2.html b/ddl/chm_output/com_fun/MoveR2.html new file mode 100644 index 0000000..2782438 --- /dev/null +++ b/ddl/chm_output/com_fun/MoveR2.html @@ -0,0 +1,44 @@ + + + + +MoveR2 + + + + + + + + + + + + + + + + + + + + + + + + +
MoveR2 ƶ
ƶʹOpen豸ſʹMoveRϵͳĬϵӰƶ⣬ȱDzϵͳλصúSetModeSetAbsMouseScrnRes
1꣺32λƶĺꡣ
+ 2꣺32λƶꡣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MoveR2 100,50
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MoveRP.html b/ddl/chm_output/com_fun/MoveRP.html new file mode 100644 index 0000000..8875a13 --- /dev/null +++ b/ddl/chm_output/com_fun/MoveRP.html @@ -0,0 +1,44 @@ + + + + +MoveRP + + + + + + + + + + + + + + + + + + + + + + + + +
MoveRP ƶ
ײƶʹOpen豸ſʹUSBײһƶڸʹԼʵƶΪͨΪϷƶ벻ͬͨһƶ붼127(ƶ꣬Ļ)Ϸһƶ붼32767
1꣺32λƶĺꡣ
+ 2꣺32λƶꡣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.MoveRP 100,50
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/MoveTo.html b/ddl/chm_output/com_fun/MoveTo.html new file mode 100644 index 0000000..bf8a8ee --- /dev/null +++ b/ddl/chm_output/com_fun/MoveTo.html @@ -0,0 +1,44 @@ + + + + +MoveTo + + + + + + + + + + + + + + + + + + + + + + + + +
MoveTo ƶ
ƶָĻꡣʹOpen豸ſʹصúSetModeSetMousePosPrecisionSetMouseMoveTimeoutSetMousePosMaxOffsetSetAbsMouseScrnRes
1꣺32λҪƶĺꡣ
+ 2꣺32λҪƶꡣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.MoveTo 100,50
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/Open.html b/ddl/chm_output/com_fun/Open.html new file mode 100644 index 0000000..45d6cad --- /dev/null +++ b/ddl/chm_output/com_fun/Open.html @@ -0,0 +1,70 @@ + + + + +Open + + + + + + + + + + + + + + + + + + + + + + + + +
Open 豸
ļӣԱвٲ豸ʱӦùر豸ͷռõԴҪر豸ʹCloseʹʱעƶ𣩣ϵͳĻ÷仯ʱҪ´豸ȹر豸ٴ豸磺ĻֱʻĻDPI()仯ָٶȻ“ָ뾫ȷ”仯
1豸ID32λʹSearchDeviceSearchDevice2Ի
+ 2DPIģʽ32λƶMoveToMoveR2ͻ꣨GetCursorPosGetCursorPos2ʱʹõDPIģʽϵͳΪֳ֧ţʹ˲ͬ꣬ͬDPIģʽӦͬ㷽ʽDPIģʽеǰֶwindowsϵͳеģʽɲ΢˽ϸݣ漸ģʽı仯ȡֵ
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ÿʾDPI֪ģʽϵͳDPIúʾDPIӰ죬ÿʾһһӦģwindowsϵͳWIN8.1ʼִ֧ģʽWIN8.1ǰЧϵͳDPI֪
1ϵͳDPI֪WIN8.1ǰϵͳÿʾһһӦģWIN8.1WIN8.1ԺϵͳÿʾòͬDPIÿʾزһһӦϵֻһʾҿעص¼ûĹDPIÿʾػһһӦġ
2DPI֪ûдDPIʱ״̬̰ϵͳDPIʾDPI100%ʱ״̬ϵͳԿǣDPI100%ʱһDPI100%ʱᵼ³ģ
3DPIãģʽҪĿDzͷźִDPI̡ڷϵ£ЧÿʾDPI֪ڲϵ£DPI任޷ϵǣWIN8.1ǰϵͳϵͳDPI100%ߵǰĵDPI֪ϵͳDPI֪WIN8.1WIN8.1ԺϵͳʾDPI100%ʱǰĵDPI֪ÿʾDPI֪ʱ
4ǰĵDPI֪ݵǰľDPI֪
ֵֵɹtrueʧܷfalseWIN10ǰϵͳʧԭڰȫػϵͳȨ⵼DPIʧܣ԰Ѳ2Ϊ3ģDPIֽ֧⡣
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ 'ִв
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/Open2.html b/ddl/chm_output/com_fun/Open2.html new file mode 100644 index 0000000..c255a1a --- /dev/null +++ b/ddl/chm_output/com_fun/Open2.html @@ -0,0 +1,76 @@ + + + + +Open2 + + + + + + + + + + + + + + + + + + + + + + + + +
Open2 豸
ļӣԱвٲ豸ʱӦùر豸ͷռõԴҪر豸ʹCloseʹʱעƶ𣩣ϵͳĻ÷仯ʱҪ´豸ȹر豸ٴ豸磺ĻֱʻĻDPI()仯ָٶȻ“ָ뾫ȷ”仯
1һ豸ID32λʹSearchDeviceSearchDevice2Ի
+ 2ڶ豸ID32λʹSearchDeviceSearchDevice2Ի
+ 3DPIģʽ32λƶMoveToMoveR2ͻ꣨GetCursorPosGetCursorPos2ʱʹõDPIģʽϵͳΪֳ֧ţʹ˲ͬ꣬ͬDPIģʽӦͬ㷽ʽDPIģʽеǰֶwindowsϵͳеģʽɲ΢˽ϸݣ漸ģʽı仯ȡֵ
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ÿʾDPI֪ģʽϵͳDPIúʾDPIӰ죬ÿʾһһӦģwindowsϵͳWIN8.1ʼִ֧ģʽWIN8.1ǰЧϵͳDPI֪
1ϵͳDPI֪WIN8.1ǰϵͳÿʾһһӦģWIN8.1WIN8.1ԺϵͳÿʾòͬDPIÿʾزһһӦϵֻһʾҿעص¼ûĹDPIÿʾػһһӦġ
2DPI֪ûдDPIʱ״̬̰ϵͳDPIʾDPI100%ʱ״̬ϵͳԿǣDPI100%ʱһDPI100%ʱᵼ³ģ
3DPIãģʽҪĿDzͷźִDPI̡ڷϵ£ЧÿʾDPI֪ڲϵ£DPI任޷ϵǣWIN8.1ǰϵͳϵͳDPI100%ߵǰĵDPI֪ϵͳDPI֪WIN8.1WIN8.1ԺϵͳʾDPI100%ʱǰĵDPI֪ÿʾDPI֪ʱ
4ǰĵDPI֪ݵǰľDPI֪
ֵֵɹtrueʧܷfalseWIN10ǰϵͳʧԭڰȫػϵͳȨ⵼DPIʧܣ԰Ѳ3Ϊ3ģDPIֽ֧⡣
vbs
Dim DevId1,DevId2
+ DevId1=wyhkm.SearchDevice(&h1234&,&hABCD&,2)
+ If DevId1=-1 Then
+     MsgBox "δҵļ(ģʽ)",4096
+     wscript.quit
+ End If
+ DevId2=wyhkm.SearchDevice(&h1234&,&hABCD&,3)
+If DevId2=-1 Then
+    MsgBox "δҵļ(ģʽ)",4096
+    wscript.quit
+End If
+ If Not wyhkm.Open2(DevId1,DevId2,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ 'ִв
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/OutputString.html b/ddl/chm_output/com_fun/OutputString.html new file mode 100644 index 0000000..0b12e8f --- /dev/null +++ b/ddl/chm_output/com_fun/OutputString.html @@ -0,0 +1,43 @@ + + + + +OutputString + + + + + + + + + + + + + + + + + + + + + + + + +
OutputString ַ
ҪıĵطַʹOpen豸ſʹַģʽʹSetModeٶʹSetKeyInterval룬Ҫ޸ַģʽҪע⵱ǰ뷨е뷨֧룬޷ȫ޷⡣
BSTR͡Ҫַ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.OutputString "ַ"
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/ReleaseKeyboard.html b/ddl/chm_output/com_fun/ReleaseKeyboard.html new file mode 100644 index 0000000..a1fbd5c --- /dev/null +++ b/ddl/chm_output/com_fun/ReleaseKeyboard.html @@ -0,0 +1,45 @@ + + + + +ReleaseKeyboard + + + + + + + + + + + + + + + + + + + + + + + + +
ReleaseKeyboard ͷż̰
ļм̰µļȫʹOpen豸ſʹ

ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.KeyDown "A"
+ wyhkm.DelayRnd 90,120
+ wyhkm.ReleaseKeyboard
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/ReleaseMouse.html b/ddl/chm_output/com_fun/ReleaseMouse.html new file mode 100644 index 0000000..9c3de68 --- /dev/null +++ b/ddl/chm_output/com_fun/ReleaseMouse.html @@ -0,0 +1,45 @@ + + + + +ReleaseMouse + + + + + + + + + + + + + + + + + + + + + + + + +
ReleaseMouse ͷ갴
ļ갴µļȫʹOpen豸ſʹ

ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.LeftDown
+ wyhkm.DelayRnd 90,120
+ wyhkm.ReleaseMouse
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/RightClick.html b/ddl/chm_output/com_fun/RightClick.html new file mode 100644 index 0000000..7dfab84 --- /dev/null +++ b/ddl/chm_output/com_fun/RightClick.html @@ -0,0 +1,43 @@ + + + + +RightClick + + + + + + + + + + + + + + + + + + + + + + + + +
RightClick Ҽ
ҼʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.RightClick
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/RightDoubleClick.html b/ddl/chm_output/com_fun/RightDoubleClick.html new file mode 100644 index 0000000..c121068 --- /dev/null +++ b/ddl/chm_output/com_fun/RightDoubleClick.html @@ -0,0 +1,43 @@ + + + + +RightDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
RightDoubleClick Ҽ˫
Ҽ˫ʹOpen豸ſʹº͵ʱʹSetMouseInterval
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.RightDoubleClick
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/RightDown.html b/ddl/chm_output/com_fun/RightDown.html new file mode 100644 index 0000000..f09d3ac --- /dev/null +++ b/ddl/chm_output/com_fun/RightDown.html @@ -0,0 +1,45 @@ + + + + +RightDown + + + + + + + + + + + + + + + + + + + + + + + + +
RightDown Ҽ
Ҽ¡ʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.RightDown
+wyhkm.DelayRnd 90,120
+wyhkm.RightUp
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/RightUp.html b/ddl/chm_output/com_fun/RightUp.html new file mode 100644 index 0000000..fcf6320 --- /dev/null +++ b/ddl/chm_output/com_fun/RightUp.html @@ -0,0 +1,45 @@ + + + + +RightUp + + + + + + + + + + + + + + + + + + + + + + + + +
RightUp Ҽ
ҼʹOpen豸ſʹ
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+wyhkm.RightDown
+wyhkm.DelayRnd 90,120
+wyhkm.RightUp
+wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SearchDevice.html b/ddl/chm_output/com_fun/SearchDevice.html new file mode 100644 index 0000000..79fd0de --- /dev/null +++ b/ddl/chm_output/com_fun/SearchDevice.html @@ -0,0 +1,56 @@ + + + + +SearchDevice + + + + + + + + + + + + + + + + + + + + + + + + +
SearchDevice 豸
ļӡ
1VID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+3豸ģʽ32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
ֵ32λһʱ豸IDţֻԵǰģЧûҵʧܷ-1
vbs
MsgBox "豸ID:" & CStr(wyhkm.SearchDevice(&h1234&,&hABCD&,0)),4096
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SearchDevice2.html b/ddl/chm_output/com_fun/SearchDevice2.html new file mode 100644 index 0000000..8a07fef --- /dev/null +++ b/ddl/chm_output/com_fun/SearchDevice2.html @@ -0,0 +1,57 @@ + + + + +SearchDevice2 + + + + + + + + + + + + + + + + + + + + + + + + +
SearchDevice2 豸
ļӡ
1VID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+3кţ32λÿļӵֵһù߲鿴
+4豸ģʽ32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
ֵ32λһʱ豸IDţֻԵǰģЧûҵʧܷ-1
vbs
MsgBox "豸ID:" & CStr(wyhkm.SearchDevice2(&h1234&,&hABCD&,&h12345678&,1))
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SearchDeviceAll.html b/ddl/chm_output/com_fun/SearchDeviceAll.html new file mode 100644 index 0000000..6ebe9a7 --- /dev/null +++ b/ddl/chm_output/com_fun/SearchDeviceAll.html @@ -0,0 +1,60 @@ + + + + +SearchDeviceAll + + + + + + + + + + + + + + + + + + + + + + + + +
SearchDeviceAll ȫ豸
ҷȫļӡ
1VID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+4豸ģʽ32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
4096BSTRַ
ֵͣǰȫBSTRͣɲ4ҵʱ豸IDţֻԵǰģЧǰȫ飬ԪDZ())δҵ豸ʧʱصİȫС0BSTRͣʽΪ“豸ID1|豸ID2|...”ʽδҵ豸ʧʱؿַ
vbs
MsgBox "豸ID:" & Join(wyhkm.SearchDeviceAll(&h1234&,&hABCD&,0),"|")
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetAbsMouseScrnRes.html b/ddl/chm_output/com_fun/SetAbsMouseScrnRes.html new file mode 100644 index 0000000..f8b4e33 --- /dev/null +++ b/ddl/chm_output/com_fun/SetAbsMouseScrnRes.html @@ -0,0 +1,44 @@ + + + + +SetAbsMouseScrnRes + + + + + + + + + + + + + + + + + + + + + + + + +
SetAbsMouseScrnRes þĻֱ
þƶʾĻֱʡʹOpen豸ſʹйغMoveToMoveR2
1ȣ32λ1Ͳ2ȡ0ʱĻֱΪǰϵͳʾĻֱʡ
+ 2߶ȣ32λ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.SetAbsMouseScrnRes 800,600
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetDevDescInfo.html b/ddl/chm_output/com_fun/SetDevDescInfo.html new file mode 100644 index 0000000..68b17b4 --- /dev/null +++ b/ddl/chm_output/com_fun/SetDevDescInfo.html @@ -0,0 +1,69 @@ + + + + +SetDevDescInfo + + + + + + + + + + + + + + + + + + + + + + + + +
SetDevDescInfo 豸Ϣ
ļӵ豸ϢļӵUSBӿϢ豸Ϣı䣬ϵͳʶ豸ԶװҪȴӻʱʹãвҪγӣᵼϵͳװʧܡ޸ĺҪر豸ȴϵͳװɺٲҺʹ豸ЩܻܵӰ죬޷ļӻĹ̼汾ڵ1.2.0ִ֧˺ʹOpen豸ſʹ
1VID32λUSBӿڵIDֵķΧ0-65535ֵΪ65536ʱ޸ļVIDֵ
+ 2PID32λUSBӿڵIJƷIDֵķΧ0-65535ֵΪ65536ʱ޸ļPIDֵ
+ 3汾32λUSBӿڵ豸汾ֵķΧ0-65535ֵΪ65536ʱ޸ļӰ汾ֵ
+ 4ͣ32λBSTRͣUSBӿڵַ޸ʱʹ32λֵΪ1
+ 5Ʒͣ32λBSTRͣUSBӿڵIJƷòƷַ޸IJƷʱʹ32λֵΪ1
+ 6ģʽ32λȡֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0ȡʱá
1ʱãϵ磨USBӿͣγļӣָ
2ãϵ󲻻ָôƣϵֻ5Ρ
+ 7Ƿ꣺ֵȡfalseʱԶ豸Ϣͬʱмģʽģʽ豸üģʽ豸豸ϢȡtrueʱԶ豸Ϣͬʱмģʽģʽ豸ģʽ豸豸Ϣ
ֵֵɹtrueʧܷfalse
vbs
+
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ //޸豸ϢPID޸
+ wyhkm.SetDevDescInfo &h1235&,&h10000&,&h0101&,1,"Mouse",1,false
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetKeyInterval.html b/ddl/chm_output/com_fun/SetKeyInterval.html new file mode 100644 index 0000000..a0fd650 --- /dev/null +++ b/ddl/chm_output/com_fun/SetKeyInterval.html @@ -0,0 +1,44 @@ + + + + +SetKeyInterval + + + + + + + + + + + + + + + + + + + + + + + + +
SetKeyInterval ðʱ
ṵ̈º͵֮ʱֻԵǰ豸ЧʱǸһΧڵֵҲóɹ̶ֵĬϰʱǸ100븽ֵʹOpen豸ſʹйغKeyPressOutputString
1ʱ䣺32λλ롣
+ 2ʱ䣺32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.SetKeyInterval 100,150
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetLightMode.html b/ddl/chm_output/com_fun/SetLightMode.html new file mode 100644 index 0000000..c610a91 --- /dev/null +++ b/ddl/chm_output/com_fun/SetLightMode.html @@ -0,0 +1,66 @@ + + + + +SetLightMode + + + + + + + + + + + + + + + + + + + + + + + + +
SetLightMode ָʾģʽ
ļӵָʾģʽļӻĹ̼汾ڵ1.1.0ִ֧˺ʹOpen豸ſʹ
1ģʽ޷32λȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0˸(Ĭģʽ)
1
2
8ģʽλӸλʱģʽ䣬ֵλʹ
+2Ƿ꣺ֵȡfalseʱԶָʾģʽͬʱмģʽģʽ豸üģʽ豸ָʾģʽȡtrueʱԶָʾģʽͬʱмģʽģʽ豸ģʽ豸ָʾģʽ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.SetLightMode(1,false)
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMode.html b/ddl/chm_output/com_fun/SetMode.html new file mode 100644 index 0000000..32ebeff --- /dev/null +++ b/ddl/chm_output/com_fun/SetMode.html @@ -0,0 +1,140 @@ + + + + +SetMode + + + + + + + + + + + + + + + + + + + + + + + + +
SetMode ģʽ
ļӵĹģʽֻԵǰ豸ЧʹOpen豸ſʹ
1ԣ32λ
+ 2ģʽ32λ
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
˵ģʽģʽ˵
2ƶķʽ0ǷƶĬģʽͨһֵѡͬʱѡֵûϡйغMoveToMoveRMoveR2ƶģʽֵ1ƶֻ׷ƶٶȣģֶƶʽ
2ƶֻͨƶǾƶƶֻʾƶʹúMoveToMoveR2ԾƶʽУҪļӿ“”ģʽ“+”ģʽע⣺MoveToûþƶҲʵ־ƶMoveR2þƶþʵƶ
4ƶģʽƶָֻûʹ“ָ뾫ȷ”“ѡָƶٶ”м䣨ƶĻı1:1win10Dpi100%ʱʹãƶвƶӰ죬ŵٶȿЩʹþƶʱЧMoveRЧ
0ģʽʼ٣١ʹÿƶʱЧ
8ģʽ޼Ӽ٣ʱήٶȡʹÿƶʱЧMoveToMoveR2ھƶͻƶģʽûʹʱЧ
16ģʽ޼Ӽ٣ʱٶȡʹÿƶʱЧMoveToMoveR2ھƶͻƶģʽûʹʱЧ
3ֹʽйغMouseWheel0ģֵֶķʽٶȽ(Ĭģʽ)
1ٹֻ׷ֹٶȣģֵֶķʽ
4ַ룬ͬڽַܵ벻ͬѡ˻յ룬йغOutputString0ANSIַ(Ĭģʽ)
1UNICODEַ
2ANSIַģʽ0IJǣ֡ĸͲַʱֶһٶȸ죬ܼ̻뷨š
3UNICODEַģʽ1IJǣ֡ĸͲַʱֶһٶȸ죬ܼ̻뷨š
4ʹüճַŵַʱٶȸҲ뷨Ӱ죬ȱǻдݺͲ֧ڡ
5ͬʽͬǵȴӵݱӲգϵͳѾ˸ݣʱϵͳæӲյϵͳ֮ʱһʱ϶̣1롣0ȫͬĬģʽ첽ͨһֵѡͬʱѡֵûϡйغKeyPressKeyDownKeyUpLeftClickRightClickMiddleClickXBtn1ClickXBtn2ClickLeftDoubleClickRightDoubleClickMiddleDoubleClickXBtn1DoubleClickXBtn2DoubleClickLeftDownRightDownMiddleDownXBtn1DownXBtn2DownLeftUpRightUpMiddleUpXBtn1UpXBtn2UpMoveRPMouseWheelPOutputString1첽ȴ̶ֱӷ
2첽ȴ궯ֱӷ
6ʱĸʷֲʽйغDelayRndKeyPressLeftClickRightClickMiddleClickXBtn1ClickXBtn2ClickLeftDoubleClickRightDoubleClickMiddleDoubleClickXBtn1DoubleClickXBtn2DoubleClickOutputString0ʱȷֲʱֵĸͬ(Ĭģʽ)
1ʱƫСֲʱֵԽСԽߣֵĸʽӽ0
7ʱʽйغDelayRndKeyPressLeftClickRightClickMiddleClickXBtn1ClickXBtn2ClickLeftDoubleClickRightDoubleClickMiddleDoubleClickXBtn1DoubleClickXBtn2DoubleClickOutputString0Ϣ(Ĭģʽ)
1Ϣ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMode 2,1
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMouseInterval.html b/ddl/chm_output/com_fun/SetMouseInterval.html new file mode 100644 index 0000000..8f6cf8d --- /dev/null +++ b/ddl/chm_output/com_fun/SetMouseInterval.html @@ -0,0 +1,44 @@ + + + + +SetMouseInterval + + + + + + + + + + + + + + + + + + + + + + + + +
SetMouseInterval ʱ
º͵֮ʱֻԵǰ豸ЧʱǸһΧڵֵҲóɹ̶ֵĬʱǸ100븽ֵʹOpen豸ſʹйغLeftClickRightClickMiddleClickLeftDoubleClickRightDoubleClickMiddleDoubleClick
1ʱ䣺32λλ롣
+ 2ʱ䣺32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMouseInterval 100,150
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMouseMoveTimeout.html b/ddl/chm_output/com_fun/SetMouseMoveTimeout.html new file mode 100644 index 0000000..f66fcc8 --- /dev/null +++ b/ddl/chm_output/com_fun/SetMouseMoveTimeout.html @@ -0,0 +1,43 @@ + + + + +SetMouseMoveTimeout + + + + + + + + + + + + + + + + + + + + + + + + +
SetMouseMoveTimeout ƶʱʱ
ƶʱ䳬趨ʱʱֹͣƶfalseֻԵǰ豸ЧʹOpen豸ſʹغMoveTo
1ʱ䣺32λƶʱʱ䣬λ롣ȡֵΪ-1ʱȡʱʱơĬֵ10롣
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMouseMoveTimeout 50000
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMousePosMaxOffset.html b/ddl/chm_output/com_fun/SetMousePosMaxOffset.html new file mode 100644 index 0000000..5ba3b5c --- /dev/null +++ b/ddl/chm_output/com_fun/SetMousePosMaxOffset.html @@ -0,0 +1,43 @@ + + + + +SetMousePosMaxOffset + + + + + + + + + + + + + + + + + + + + + + + + +
SetMousePosMaxOffset ƫ
ֶƶʱͨÿζ㵽ͬ꣬һΧģΪõƫֵֻԵǰ豸ЧʹOpen豸ſʹغMoveTo
1ƫƣ32λƫֵĬֵ0
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMousePosMaxOffset 2
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMousePosPrecision.html b/ddl/chm_output/com_fun/SetMousePosPrecision.html new file mode 100644 index 0000000..7823baa --- /dev/null +++ b/ddl/chm_output/com_fun/SetMousePosPrecision.html @@ -0,0 +1,43 @@ + + + + +SetMousePosPrecision + + + + + + + + + + + + + + + + + + + + + + + + +
SetMousePosPrecision 꾫
ϵͳеƶٶȹʱ޷ȷÿأĿ긽ܾãʱҪ꾫ȣƶĿʱƫֻԵǰ豸ЧʹOpen豸ſʹغMoveToMoveR2
1ȣ32λƫĬֵ0
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMousePosPrecision 1
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetMouseSpeed.html b/ddl/chm_output/com_fun/SetMouseSpeed.html new file mode 100644 index 0000000..53a7bf9 --- /dev/null +++ b/ddl/chm_output/com_fun/SetMouseSpeed.html @@ -0,0 +1,43 @@ + + + + +SetMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
SetMouseSpeed ٶ
ƶٶȡõǼƶٶȵֵƶģʽMoveRPӰ졣ʹOpen豸ſʹйغMoveRMoveR2MoveTo
1ٶȣֵ޷32λȡֵΧ5-100ֵԽٶԽ죬Ĭֵ45ʹٶֵȫ̶ˣƶٶСΧƶģʽMoveRP⣩
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.SetMouseSpeed 20
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetOSMouseSpeed.html b/ddl/chm_output/com_fun/SetOSMouseSpeed.html new file mode 100644 index 0000000..3514fbe --- /dev/null +++ b/ddl/chm_output/com_fun/SetOSMouseSpeed.html @@ -0,0 +1,33 @@ + + + + +SetOSMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
SetOSMouseSpeed ϵͳٶ
ϵͳٶȡϵͳٶϵͳе“ѡָƶٶ”õƶٶϵͳƶٶȵı
1ٶȣ32λֵķΧ1-20ֵԽϵͳеٶԽ죬ϵͳĬֵ10
+2Ƿ񱣴棺ֵȡtrueʱϵͳȻЧȡfalseʱϵͳָá
ֵֵɹtrueʧܷfalse
vbs
SetOSMouseSpeed(10,false)
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetResetMode.html b/ddl/chm_output/com_fun/SetResetMode.html new file mode 100644 index 0000000..89b9a69 --- /dev/null +++ b/ddl/chm_output/com_fun/SetResetMode.html @@ -0,0 +1,62 @@ + + + + +SetResetMode + + + + + + + + + + + + + + + + + + + + + + + + +
SetResetMode øλģʽ
ļӵʱλģʽʱλģʽʱλʹSetResetTimeļӻĹ̼汾ڵ1.1.0ִ֧˺ʹOpen豸ſʹ
1ģʽ32λȡֵ£
+ + + + + + + + + + + + + +
ֵ˵
0Ӳλ(Ĭģʽ)
1갴״̬λ
+ 2Ƿ꣺ֵȡfalseʱԶøλģʽͬʱмģʽģʽ豸üģʽ豸ĸλģʽȡtrueʱԶøλģʽͬʱмģʽģʽ豸ģʽ豸ĸλģʽ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ wyhkm.SetResetMode(1,false)
+ Do
+     wyhkm.SetResetTime(1000,false)
+     wyhkm.DelayRnd(90,120)
+ Loop
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/SetResetTime.html b/ddl/chm_output/com_fun/SetResetTime.html new file mode 100644 index 0000000..bcfe5ee --- /dev/null +++ b/ddl/chm_output/com_fun/SetResetTime.html @@ -0,0 +1,48 @@ + + + + +SetResetTime + + + + + + + + + + + + + + + + + + + + + + + + +
SetResetTime øλʱ
ļӵʱλʱ䡣иʱʹøúʱ䵽˾ͻʹӸλʹʺӵļʹʱ¼ʱλʱʧЧҪʹøúáļʱ»ͨѶ쳣߳ͻȻ˳°µļ޷ȥЩ²κӷաֹͣļӲرʱλΪļ̺ǽӴһ㲻ָλļӻһִ֧˺ʹOpen豸ſʹ
+ ʺӵĺУGetVersion IsOpen Close SetMode SetKeyInterval SetMouseInterval SetAbsMouseScrnRes SetMouseMoveTimeout SetMousePosMaxOffset SetMousePosPrecision DelayRnd CheckPressedKeys IsOSMouseAccelerateEnabled EnableOSMouseAccelerate GetOSMouseSpeed SetOSMouseSpeedGetDevString
1ʱʱ䣺32λλ롣ȡ0ʱرʱλ0ʱСֵ50룬ֵ19Сʱ
+2Ƿ꣺ֵȡfalseʱԶʱλʱ䣬ͬʱмģʽģʽ豸üģʽ豸ʱλʱ䡣ȡtrueʱԶʱλʱ䣬ͬʱмģʽģʽ豸ģʽ豸ʱλʱ䡣
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ Do
+     wyhkm.SetResetTime(1000,false)
+     wyhkm.DelayRnd(90,120)
+ Loop
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/VerifyUserData.html b/ddl/chm_output/com_fun/VerifyUserData.html new file mode 100644 index 0000000..8bfc9c5 --- /dev/null +++ b/ddl/chm_output/com_fun/VerifyUserData.html @@ -0,0 +1,44 @@ + + + + +VerifyUserData + + + + + + + + + + + + + + + + + + + + + + + + +
VerifyUserData ֤û
֤ûʹ“ļ޸”дַַǷͬļӻһĹ̼汾ڵ1.2.0ִ֧˺ʹOpen豸ſʹ
BSTR͡Ҫַ
+ 2Ƿ꣺ֵȡfalseʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡȡtrueʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "֤ûݣ" & CStr(wyhkm.VerifyUserData("ҵû",false)),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/VerifyUserData2.html b/ddl/chm_output/com_fun/VerifyUserData2.html new file mode 100644 index 0000000..f79fa9d --- /dev/null +++ b/ddl/chm_output/com_fun/VerifyUserData2.html @@ -0,0 +1,44 @@ + + + + +VerifyUserData2 + + + + + + + + + + + + + + + + + + + + + + + + +
VerifyUserData2 ֤û2
֤ûʹ“ļ޸”дַַǷͬVerifyUserData棬ûݺ֤ݷ룬޷֤ͨݻûݡڹ̼ԭVerifyUserDataVerifyUserData2֧ͬʱʹáļӻһִ֧˺ʹOpen豸ſʹ
BSTR͡Ҫַ
+ 2Ƿ꣺ֵȡfalseʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡȡtrueʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡ
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+ DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+ If DevId=-1 Then
+     MsgBox "δҵļ",4096
+     wscript.quit
+ End If
+ If Not wyhkm.Open(DevId,0) Then
+     MsgBox "ļʧ",4096
+     wscript.quit
+ End If
+ MsgBox "֤ûݣ" & CStr(wyhkm.VerifyUserData("1234567890ABCDEF1234567890ABCDEF",false)=wyhkm.GetSerialNumber(false)),4096
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/VirtualKeyTable.html b/ddl/chm_output/com_fun/VirtualKeyTable.html new file mode 100644 index 0000000..bf12efb --- /dev/null +++ b/ddl/chm_output/com_fun/VirtualKeyTable.html @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
8Backspace˸88X 
9TabTab89Y 
13Enterس90Z 
16ShiftShift91Left WinWindows
17CtrlCtrl92Right WinWindows
18AltAlt93Apps˵
19Pauseͣ96Num 0С0
20Caps LockСдл97Num 1С1
27Esc˳98Num 2С2
32Spaceո99Num 3С3
33Page UpϷҳ100Num 4С4
34Page Down·ҳ101Num 5С5
35Endβ102Num 6С6
36Homeʼ103Num 7С7
37LeftƼͷ104Num 8С8
38UpƼϼͷ105Num 9С9
39RightƼҼͷ106Num *С*
40DownƼ¼ͷ107Num +С+
44Print Screen108Num EnterС̻س
45Insert109Num -С-
46Deleteɾ110Num .С.
480 111Num /С/
491 112F1 
502 113F2 
513 114F3 
524 115F4 
535 116F5 
546 117F6 
557 118F7 
568 119F8 
579 120F9 
65A 121F10 
66B 122F11 
67C 123F12 
68D 144Num LockСл
69E 145Scroll Lock 
70F 160Left ShiftShift
71G 161Right ShiftShift
72H 162Left CtrlCtrl
73I 163Right CtrlCtrl
74J 164Left AltAlt
75K 165Right AltAlt
76L 186;;:
77M 187==+
78N 188,,<
79O 189--_
80P 190..>
81Q 191//?
82R 192``~
83S 219[[{
84T 220\\|
85U 221]]}
86V 222''"
87W    
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn1Click.html b/ddl/chm_output/com_fun/XBtn1Click.html new file mode 100644 index 0000000..01adef5 --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn1Click.html @@ -0,0 +1,43 @@ + + + + +XBtn1Click + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn1Click XButton1
XButton1ʹOpen豸ſʹº͵ʱʹSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn1Click
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn1DoubleClick.html b/ddl/chm_output/com_fun/XBtn1DoubleClick.html new file mode 100644 index 0000000..ac35f83 --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn1DoubleClick.html @@ -0,0 +1,43 @@ + + + + +XBtn1DoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn1DoubleClick XButton1˫
XButton1˫ʹOpen豸ſʹº͵ʱʹSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn1DoubleClick
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn1Down.html b/ddl/chm_output/com_fun/XBtn1Down.html new file mode 100644 index 0000000..47bf129 --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn1Down.html @@ -0,0 +1,43 @@ + + + + +XBtn1Down + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn1Down XButton1
XButton1¡ʹOpen豸ſʹļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn1Down
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn1Up.html b/ddl/chm_output/com_fun/XBtn1Up.html new file mode 100644 index 0000000..00399c0 --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn1Up.html @@ -0,0 +1,43 @@ + + + + +XBtn1Up + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn1Up XButton1
XButton1ʹOpen豸ſʹļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn1Up
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn2Click.html b/ddl/chm_output/com_fun/XBtn2Click.html new file mode 100644 index 0000000..b9ddc09 --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn2Click.html @@ -0,0 +1,43 @@ + + + + +XBtn2Click + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn2Click XButton2
XButton2ʹOpen豸ſʹº͵ʱʹSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn2Click
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn2DoubleClick.html b/ddl/chm_output/com_fun/XBtn2DoubleClick.html new file mode 100644 index 0000000..1fd1c1b --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn2DoubleClick.html @@ -0,0 +1,43 @@ + + + + +XBtn2DoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn2DoubleClick XButton2˫
XButton2˫ʹOpen豸ſʹº͵ʱʹSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn2DoubleClick
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn2Down.html b/ddl/chm_output/com_fun/XBtn2Down.html new file mode 100644 index 0000000..5ac794a --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn2Down.html @@ -0,0 +1,43 @@ + + + + +XBtn2Down + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn2Down XButton2
XButton2¡ʹOpen豸ſʹļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn2Down
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/XBtn2Up.html b/ddl/chm_output/com_fun/XBtn2Up.html new file mode 100644 index 0000000..f90fe7d --- /dev/null +++ b/ddl/chm_output/com_fun/XBtn2Up.html @@ -0,0 +1,43 @@ + + + + +XBtn2Up + + + + + + + + + + + + + + + + + + + + + + + + +
XBtn2Up XButton2
XButton2ʹOpen豸ſʹļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
 
ֵֵɹtrueʧܷfalse
vbs
Dim DevId
+DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0)
+If DevId=-1 Then
+    MsgBox "δҵļ",4096
+    wscript.quit
+End If
+If Not wyhkm.Open(DevId,0) Then
+    MsgBox "ļʧ",4096
+    wscript.quit
+End If
+ wyhkm.XBtn2Up
+ wyhkm.Close
+ + \ No newline at end of file diff --git a/ddl/chm_output/com_fun/css/help.css b/ddl/chm_output/com_fun/css/help.css new file mode 100644 index 0000000..9c5f3ef --- /dev/null +++ b/ddl/chm_output/com_fun/css/help.css @@ -0,0 +1,17 @@ +@charset "gb2312"; +body{font-size:12px; font-family:Verdana,"";} +.ts{ background:#fff; margin:0;} +.ts th{ + color:#666666; + background:#D8D8D8; + line-height:24px; + font-family: Verdana, ""; +} +.ts td {padding:6px 0;} +.name { font-size:16px; font-weight:bold; border-top:1px dashed #9C9A9C; border-bottom:1px dashed #9C9A9C; color:#006939;} +.canshu { background:#E7E7EF;} +.fanhui { border-bottom:1px dashed #9C9A9C;} +.lizi { border-bottom:1px dashed #9C9A9C;} +.neirong { border-bottom:1px dashed #9C9A9C;} +.thf {color: #000000;} +.note {color: #006600;} diff --git a/ddl/chm_output/css/mystyle.css b/ddl/chm_output/css/mystyle.css new file mode 100644 index 0000000..48ef556 --- /dev/null +++ b/ddl/chm_output/css/mystyle.css @@ -0,0 +1,6 @@ +@charset "gb2312"; +body{font-size:16px; font-family:Verdana,"";} +h1{text-align:center;} +p{text-indent:2em;} +.boldfont{font-weight:bold;} +.redfont {color: #FF0000;} \ No newline at end of file diff --git a/ddl/chm_output/pic/jt1.jpg b/ddl/chm_output/pic/jt1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ce0f8704e0b54ef01cee38dc64080868c0aa31d GIT binary patch literal 26807 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 literal 0 HcmV?d00001 diff --git a/ddl/chm_output/pic/jt3.jpg b/ddl/chm_output/pic/jt3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c09031d8b4a9bdc4ceb8a2eb23cad6fe5af3eff GIT binary patch literal 21755 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

Ky~So-Si$3x%L44H=tbdvYXt&d=gY; zN%=S6>BU+qdJK*_)xP+lC*y9-|BD%BBBfTCKlfymsVBkAIK-FK`8Yr2qf` literal 0 HcmV?d00001 diff --git a/ddl/chm_output/standard_fun/HKMCheckPressedKeys.html b/ddl/chm_output/standard_fun/HKMCheckPressedKeys.html new file mode 100644 index 0000000..67505ce --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMCheckPressedKeys.html @@ -0,0 +1,64 @@ + + + + +HKMCheckPressedKeys + + + + + + + + + + + + + + + + + + + + + + + + +
HKMCheckPressedKeys 鰴
̡Щ¡ڳǰЩ̻ļijԭ򱻰δеĴϿˣʵ߼ϲδӰļ̡ȼһ¡
1ģʽ޷32λĹʽȡֵһʱȡ0Ҫͬʱʹöֵɽֵ㡣ȡֵ
+ + + + + + + + + + + + + + + + + +
ֵ˵
1صַĵϢȫӢĵϢ
2صַµϢֻµļ̼
4صַAnsi룬ĬUnicode
+ 2ַȣ޷32λָ롣ڽշֵΪNULLʱַַַ'\0'ҪʱȡֵΪNULL
ֵַ(Unicode/Ansi)δ⵽бµļ“OK”ַ⵽бµļرµļϢʧܣNULLʹַʱʹHKMFreeDataͷַռõԴ
C
LPWSTR lpStr;
+ setlocale(LC_ALL,"chs");//printfUnicodeַҪòʾ
+ lpStr=HKMCheckPressedKeys(1,NULL);
+ if(lpStr==NULL)
+ {
+     printf("ʧ\n");
    return 0;
+ }
+ if(!wcscmp(lpStr,L"OK"))
+ {
+     printf("鵽%S£ǰδ߼̹ϣӰΪ˻ָǣ볢µЩ\n");
+     HKMFreeData(lpStr);
+    return 0;
+ }
+ HKMFreeData(lpStr);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMClose.html b/ddl/chm_output/standard_fun/HKMClose.html new file mode 100644 index 0000000..5cd41c3 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMClose.html @@ -0,0 +1,45 @@ + + + + +HKMClose + + + + + + + + + + + + + + + + + + + + + + + + +
HKMClose ر豸
رļӣвʱʹô˺ر豸ͷռõԴ
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ //ִв
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMDelayRnd.html b/ddl/chm_output/standard_fun/HKMDelayRnd.html new file mode 100644 index 0000000..b1ff355 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMDelayRnd.html @@ -0,0 +1,49 @@ + + + + +HKMDelayRnd + + + + + + + + + + + + + + + + + + + + + + + + +
HKMDelayRnd ʱ
һ趨ʱ䷶Χʱ
1豸ָ롣ʹHKMOpenԴ
+ 2ʱ䣺޷32λλ롣
+ 3ʱ䣺޷32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹ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;
+ }
+ HKMLeftDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMLeftUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMEnableOSMouseAccelerate.html b/ddl/chm_output/standard_fun/HKMEnableOSMouseAccelerate.html new file mode 100644 index 0000000..d565a00 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMEnableOSMouseAccelerate.html @@ -0,0 +1,33 @@ + + + + +HKMEnableOSMouseAccelerate + + + + + + + + + + + + + + + + + + + + + + + + +
HKMEnableOSMouseAccelerate ͣϵͳ
ֹͣϵͳٹܡϵͳٹϵͳе“ָ뾫ȷ”Ĭǿġƶʱϵͳи죬ƶʱϵͳиϵͳеƶ벻ǹ̶ı
1ǷֵȡTRUEʱϵͳ٣ȡFALSEʱֹͣϵͳ١
+2Ƿ񱣴棺ֵȡTRUEʱϵͳȻЧȡFALSEʱϵͳָá
ֵֵɹTRUEʧܷFALSE
C
HKMEnableOSMouseAccelerate(FALSE,FALSE);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMFreeData.html b/ddl/chm_output/standard_fun/HKMFreeData.html new file mode 100644 index 0000000..ef9db64 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMFreeData.html @@ -0,0 +1,35 @@ + + + + +HKMFreeData + + + + + + + + + + + + + + + + + + + + + + + + +
HKMFreeData ͷ
ͷݣͷһЩռõԴغHKMSearchDeviceAllHKMCheckPressedKeys
1ݵַָ롣ʹHKMSearchDeviceAllHKMCheckPressedKeysԴ
ֵֵɹTRUEʧܷFALSE
C
LPWSTR lpStr;
+lpStr=HKMCheckPressedKeys(1);
+//ִв
+HKMFreeData(lpStr);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetCursorPos.html b/ddl/chm_output/standard_fun/HKMGetCursorPos.html new file mode 100644 index 0000000..385b8df --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetCursorPos.html @@ -0,0 +1,54 @@ + + + + +HKMGetCursorPos + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetCursorPos
òϵͳеꡣ
1豸ָ롣ʹHKMOpenԴ
+ 2꣺32λָ롣ڽꡣ
+ 3꣺32λָ롣ڽꡣ
ֵֵɹTRUEʧܷFALSE
C
DWORD dwDevId;
+ LPVOID lpDev;
+ long x,y;
+ dwDevId=HKMSearchDevice(0x1234,0xABCD,0);
+ if(dwDevId==0xFFFFFFFF)
+ {
    printf("δҵļ\n");
    return 0;
+ }
+ lpDev=HKMOpen(dwDevId,0);
+ if(lpDev==NULL)
+ {
+     printf("ļʧ\n");
+    return 0;
+ }
+ if(!HKMGetCursorPos(lpDev,&x,&y))
+ {
+     printf("ʧ\n");
+    return 0;
+ } +
+ printf("꣺%d%d%s\n",x,y);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetCursorPos2.html b/ddl/chm_output/standard_fun/HKMGetCursorPos2.html new file mode 100644 index 0000000..662d631 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetCursorPos2.html @@ -0,0 +1,46 @@ + + + + +HKMGetCursorPos2 + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetCursorPos2
òϵͳеꡣHKMGetCursorPosȫֻͬΪ˽Բֲַ֧⡣
1豸ָ롣ʹHKMOpenԴ
ֵ޷32λ16λǺ꣬16λꡣ
C
DWORD dwDevId,dwPos;
+ 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;
+ }
+ dwPos=HKMGetCursorPos2(lpDev);
+ printf("꣺%d%d%s\n",(long)(short)dwPos,(long)(short)(dwPos>>16));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetDataCount.html b/ddl/chm_output/standard_fun/HKMGetDataCount.html new file mode 100644 index 0000000..6a21ebf --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetDataCount.html @@ -0,0 +1,42 @@ + + + + +HKMGetDataCount + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetDataCount
ԪغHKMSearchDeviceAllHKMCheckPressedKeys
1ݵַָ롣ʹHKMSearchDeviceAllHKMCheckPressedKeysԴ
ֵ޷32λɹԪʧܷ0xFFFFFFFF
C
LPDWORD pDevId;
+DWORD dwCount,i;
+pDevId=HKMSearchDeviceAll(0x1234,0xABCD,0);
+if(pDevId==NULL)
+{
+    printf("豸ʧ\n");
+    return 0;
+}
+dwCount=HKMGetDataCount(pDevId);
+printf("ҵ豸:%u\n",dwCount);
+HKMFreeData(pDevId);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetDataUnitInt.html b/ddl/chm_output/standard_fun/HKMGetDataUnitInt.html new file mode 100644 index 0000000..4e658fa --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetDataUnitInt.html @@ -0,0 +1,47 @@ + + + + +HKMGetDataUnitInt + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetDataUnitInt ݵԪֵ
ԪصֵغHKMSearchDeviceAllHKMCheckPressedKeys
1ݵַָ롣ʹHKMSearchDeviceAllHKMCheckPressedKeysԴ
+ 2ţ޷32λԪصţԽԪ±꣬һԪ0
ֵ޷32λɹֵʧܷ0
C
LPDWORD pDevId;
+DWORD dwCount,i;
+pDevId=HKMSearchDeviceAll(0x1234,0xABCD,0);
+if(pDevId==NULL)
+{
+    printf("豸ʧ\n");
+    return 0;
+}
+dwCount=HKMGetDataCount(pDevId);
+printf("ҵ豸:%u\n",dwCount);
+for(i=0;i<dwCount;i++)
+{
+    printf("%08X\n",HKMGetDataUnitInt(pDevId,i));
+}
+HKMFreeData(pDevId);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetDevInfo.html b/ddl/chm_output/standard_fun/HKMGetDevInfo.html new file mode 100644 index 0000000..f95fbc7 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetDevInfo.html @@ -0,0 +1,89 @@ + + + + +HKMGetDevInfo + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetDevInfo 豸Ϣ
ļӵ豸Ϣļӻһִ֧˺
1豸ָ롣ʹHKMOpenԴ
+ 2ţ޷32λҪȡϢšȡֵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
˵
1豸͡ļӻһ1ļӻ2
2̼汾ֵУ0-15λ޶ţ16-23λǸ汾ţ24-31λ汾š
3ʱ䡣ֵǴͨ߸λʼеĺϵ͸λ㡣ϵͳʱʱʱ侫Ȳߣ
4ͨʱ䡣ֵǴͨ翪ʼеĺϵ㣬λ㡣ϵͳʱʱʱ侫Ȳߣ
6λ
7״̬豸δӷ0xFFFFFFFF豸׼з0״̬1༭״̬2ֹ״̬3
8USB豸ӿڵVIDֵ
9USB豸ӿڵPIDֵ
10USB豸ӿڵ豸汾ֵ
+3Ƿ꣺ֵȡFALSEʱԶ豸Ϣͬʱмģʽģʽ豸üģʽ豸ϢȡTRUEʱԶ豸Ϣͬʱмģʽģʽ豸ģʽ豸Ϣ
ֵ޷32λֵɲ2
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;
+ }
+ printf("ļӹ̼汾ţ%08X\n",HKMGetDevInfo(lpDev,2,FALSE));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetDevString.html b/ddl/chm_output/standard_fun/HKMGetDevString.html new file mode 100644 index 0000000..9175bd4 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetDevString.html @@ -0,0 +1,68 @@ + + + + +HKMGetDevString + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetDevString 豸ַ
豸صַ
1豸ָ롣ʹHKMOpenԴ
+ 2ţ޷32λҪȡַšȡֵ£
+ + + + + + + + + + + + + +
ֵ˵
1
2Ʒ
+ 3Ƿ꣺ֵȡfalseʱԶ豸ַͬʱмģʽģʽ豸üģʽ豸ַȡtrueʱԶ豸ַͬʱмģʽģʽ豸ģʽ豸ַ
+ 4ַȣ޷32λָ롣ڽշֵΪNULLʱַַַ'\0'ҪʱȡֵΪNULL
ֵַ(Unicode/Ansi)ʧܷNULLɹַַĬUnicodeַͨHKMSetMode޸ΪAnsiַַ豸ʱУ赥ͷţҪݾֹʹʱĺݸдˡ
C
DWORD dwDevId,;
+LPVOID lpDev;
+ LPWSTR lpStr;
+ setlocale(LC_ALL,"chs");//printfUnicodeַҪòʾ
+dwDevId=HKMSearchDevice(0x1234,0xABCD,0);
+if(dwDevId==0xFFFFFFFF)
+{
+    printf("δҵļ\n");
+    return 0;
+}
+lpDev=HKMOpen(dwDevId,0);
+if(lpDev==NULL)
+{
+    printf("ļʧ\n");
+    return 0;
+}
+lpStr=HKMGetString(lpDev,1,false);
+if(lpStr!=NULL)
+    printf("̣%S\n",lpStr);
+HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetError.html b/ddl/chm_output/standard_fun/HKMGetError.html new file mode 100644 index 0000000..41afe6b --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetError.html @@ -0,0 +1,131 @@ + + + + +HKMGetError + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetError ô
ô롣Ҫô豸йغִкִиúִ豸йغḲ֮ǰֵ
1豸ָ롣ʹHKMOpenԴ
ֵ޷32λ16λǴ룬16λǴšУ0dzɹ57344ϵͳ룬ϵͳAPI“GetLastError”õֵֵͬĽͿ΢վ鿴ڻ57344Ĵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵ֵ˵
0000(0)ɹE020(57376)豸ʧ
E001(57345)ʧE021(57377)ͨʧ
E002(57346)ЧIJE022(57378)޷Ȩ
E003(57347)ЧָE023(57379)ʱ
E004(57348)ЧĶE024(57380)Ӧʧ
E005(57349)ЧijʼֵE025(57381)
E006(57350)ЧE026(57382)ȡDPIϢʧ
E007(57351)̫E027(57383)ȡʧ
E008(57352)ַ̫E028(57384)豸ʧ
E009(57353)̫СE029(57385)豸ʱ
E00A(57354)֧  
E00B(57355)Ѵ  
E00C(57356)ϵͳ  
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;
+ }
+ printf(":%04X\n",HKMGetError(lpDev) & 0xFFFF);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetKeyboardLEDState.html b/ddl/chm_output/standard_fun/HKMGetKeyboardLEDState.html new file mode 100644 index 0000000..76c2cb7 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetKeyboardLEDState.html @@ -0,0 +1,64 @@ + + + + +HKMGetKeyboardLEDState + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetKeyboardLEDState üLED״̬
üNum LockCaps LockScroll LockƵ״̬
1豸ָ롣ʹHKMOpenԴ
+ 2̵ƣ޷32λȡֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0Num Lock
1Caps Lock
2Scroll Lock
ֵֵ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;
+ }
+ printf("NumLock%s\n",HKMGetKeyboardLEDState(lpDev,0)?"":"");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetKeyboardMode.html b/ddl/chm_output/standard_fun/HKMGetKeyboardMode.html new file mode 100644 index 0000000..6ed2661 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetKeyboardMode.html @@ -0,0 +1,63 @@ + + + + +HKMGetKeyboardMode + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetKeyboardMode üģʽ
ļӵļģʽļӻĹ̼汾ڵ1.1.0ִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵ޷32λģʽʧܷ0xFFFFFFFFɹֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0޼
1ͨ
5Ϸ
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;
+ }
+ printf("ģʽ%u\n",HKMGetKeyboardMode(lpDev));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetMouseMode.html b/ddl/chm_output/standard_fun/HKMGetMouseMode.html new file mode 100644 index 0000000..36567f9 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetMouseMode.html @@ -0,0 +1,75 @@ + + + + +HKMGetMouseMode + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetMouseMode ģʽ
ļӵģʽļӻһĹ̼汾ڵ1.2.0ִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵ޷32λģʽʧܷ0xFFFFFFFFɹֵ£
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0
1
2
3+
5Ϸ
7Ϸ+
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;
+ }
+ printf("ģʽ%u\n",HKMGetMouseMode(lpDev));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetOSMouseSpeed.html b/ddl/chm_output/standard_fun/HKMGetOSMouseSpeed.html new file mode 100644 index 0000000..36bd4e1 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetOSMouseSpeed.html @@ -0,0 +1,32 @@ + + + + +HKMGetOSMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetOSMouseSpeed ϵͳٶ
ϵͳٶȡϵͳٶϵͳе“ѡָƶٶ”õƶٶϵͳƶٶȵı
 
ֵ32λɹʱֵķΧ1-20ֵԽϵͳеٶԽ죬ϵͳĬֵ10ʧܷ0
C
printf("ϵͳٶȣ%d\n",HKMGetOSMouseSpeed());
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetSerialNumber.html b/ddl/chm_output/standard_fun/HKMGetSerialNumber.html new file mode 100644 index 0000000..abb7661 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetSerialNumber.html @@ -0,0 +1,46 @@ + + + + +HKMGetSerialNumber + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetSerialNumber к
ļӵкš
1豸ָ롣ʹHKMOpenԴ
+ 2Ƿ꣺ֵȡFALSEʱԶ豸кţͬʱмģʽģʽ豸üģʽ豸кšȡTRUEʱԶ豸кţͬʱмģʽģʽ豸ģʽ豸кš
ֵ޷32λ
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;
+ }
+ printf("ļкţ%08X\n",HKMGetSerialNumber(lpDev,FALSE));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMGetVersion.html b/ddl/chm_output/standard_fun/HKMGetVersion.html new file mode 100644 index 0000000..804b2ab --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMGetVersion.html @@ -0,0 +1,32 @@ + + + + +HKMGetVersion + + + + + + + + + + + + + + + + + + + + + + + + +
HKMGetVersion õǰģ汾
õǰģ汾
 
ֵ޷32λ0-15λ޶ţ16-23λǸ汾ţ24-31λ汾š
C
printf("汾ţ%08X\n",HKMGetVersion());
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsKeyBusy.html b/ddl/chm_output/standard_fun/HKMIsKeyBusy.html new file mode 100644 index 0000000..2a18207 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsKeyBusy.html @@ -0,0 +1,45 @@ + + + + +HKMIsKeyBusy + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsKeyBusy жϼǷæ
жļӵļǷæ
1豸ָ롣ʹHKMOpenԴ
ֵֵæ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;
+ }
+ printf("ļӼ%s\n",HKMIsKeyBusy(lpDev)?"æ":"");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsKeyDown.html b/ddl/chm_output/standard_fun/HKMIsKeyDown.html new file mode 100644 index 0000000..cb4a9f6 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsKeyDown.html @@ -0,0 +1,50 @@ + + + + +HKMIsKeyDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsKeyDown жϼǷ
жļӵļ̵ļǷ¡
1豸ָ롣ʹHKMOpenԴ
+ 2ַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)ʹַ(ĬUnicodeַͨHKMSetMode޸ΪAnsiַ)ʹ޷32/64λͰɲ鿴
ֵֵ·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;
+ }
+ HKMKeyDown(lpDev,L"Alt");
+ printf("Alt״̬:%d\n",HKMIsKeyDown(lpDev,L"Alt"));
+ HKMDelayRnd(lpDev,90,120);
+ HKMKeyUp(lpDev,L"Alt");
+ printf("Alt״̬:%d\n",HKMIsKeyDown(lpDev,L"Alt"));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsMouseBusy.html b/ddl/chm_output/standard_fun/HKMIsMouseBusy.html new file mode 100644 index 0000000..28076da --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsMouseBusy.html @@ -0,0 +1,45 @@ + + + + +HKMIsMouseBusy + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsMouseBusy жǷæ
жļӵǷæ
1豸ָ롣ʹHKMOpenԴ
ֵֵæ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;
+ }
+ printf("ļ%s\n",HKMIsMouseBusy(lpDev)?"æ":"");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsMouseButtonDown.html b/ddl/chm_output/standard_fun/HKMIsMouseButtonDown.html new file mode 100644 index 0000000..1b59d32 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsMouseButtonDown.html @@ -0,0 +1,68 @@ + + + + +HKMIsMouseButtonDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsMouseButtonDown жǷ
жļӵļǷ¡
1豸ָ롣ʹHKMOpenԴ
+ 232λ޷ȡֵ¡
+ + + + + + + + + + + + + + + + + +
˵
0
1Ҽ
2м
ֵֵ·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;
+ }
+ HKMLeftDown(lpDev);
+ printf("״̬:%d\n",HKMIsMouseButtonDown(lpDev,0));
+ HKMDelayRnd(lpDev,90,120);
+ HKMLeftUp(lpDev);
+ printf("״̬:%d\n",HKMIsMouseButtonDown(lpDev,0));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsOSMouseAccelerateEnabled.html b/ddl/chm_output/standard_fun/HKMIsOSMouseAccelerateEnabled.html new file mode 100644 index 0000000..6c4181c --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsOSMouseAccelerateEnabled.html @@ -0,0 +1,35 @@ + + + + +HKMIsOSMouseAccelerateEnabled + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsOSMouseAccelerateEnabled жǷϵͳ
жǷϵͳٹܡϵͳٹϵͳе“ָ뾫ȷ”Ĭǿġƶʱϵͳи죬ƶʱϵͳиϵͳеƶ벻ǹ̶ı
 
ֵֵѿϵͳٷTRUEδϵͳٷFALSE
C
if(HKMIsOSMouseAccelerateEnabled())
+     printf("ѿϵͳ\n");
+ else
+     printf("δϵͳ\n");
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMIsOpen.html b/ddl/chm_output/standard_fun/HKMIsOpen.html new file mode 100644 index 0000000..d89c85e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMIsOpen.html @@ -0,0 +1,63 @@ + + + + +HKMIsOpen + + + + + + + + + + + + + + + + + + + + + + + + +
HKMIsOpen ж豸Ƿ
ж豸ǷѾOpen򿪡
1豸ָ롣ʹHKMOpenԴ
+ 2޷32λȡֵһҪͬʱʹöֵɽֵ㡣ȡֵ
+ + + + + + + + + + + + + + + + + +
ֵ˵
0ж豸Ƿ񱻴򿪣󡢼̻ģʽ豸ԣֵͬʱʹã
1жϼǷ񱻴򿪣߼ģʽ豸
2жǷ񱻴򿪣ģʽ豸
ֵֵѴ򿪷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;
+}
+ if(HKMIsOpen(lpDev,0))
    printf("ļѴ");
+ else
    printf("ļδ");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMKeyDown.html b/ddl/chm_output/standard_fun/HKMKeyDown.html new file mode 100644 index 0000000..b75ee87 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMKeyDown.html @@ -0,0 +1,48 @@ + + + + +HKMKeyDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMKeyDown ̰
̵ļ¡
1豸ָ롣ʹHKMOpenԴ
+ 2ַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)ʹַ(ĬUnicodeַͨHKMSetMode޸ΪAnsiַ)ʹ޷32/64λͰɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹ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;
+ }
+ HKMKeyDown(lpDev,L"F1");
+ HKMDelayRnd(lpDev,90,120);
+ HKMKeyUp(lpDev,L"F1");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMKeyPress.html b/ddl/chm_output/standard_fun/HKMKeyPress.html new file mode 100644 index 0000000..32583d6 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMKeyPress.html @@ -0,0 +1,46 @@ + + + + +HKMKeyPress + + + + + + + + + + + + + + + + + + + + + + + + +
HKMKeyPress ̰
̵ļٵṵ̈º͵ʱʹHKMSetKeyInterval
1豸ָ롣ʹHKMOpenԴ
+ 2ַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)ʹַ(ĬUnicodeַͨHKMSetMode޸ΪAnsiַ)ʹ޷32/64λͰɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹ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;
+ }
+ HKMKeyPress(lpDev,L"F1");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMKeyUp.html b/ddl/chm_output/standard_fun/HKMKeyUp.html new file mode 100644 index 0000000..da90a4c --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMKeyUp.html @@ -0,0 +1,48 @@ + + + + +HKMKeyUp + + + + + + + + + + + + + + + + + + + + + + + + +
HKMKeyUp ̵
̵ļ
1豸ָ롣ʹHKMOpenԴ
+ 2ַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)ʹַ(ĬUnicodeַͨHKMSetMode޸ΪAnsiַ)ʹ޷32/64λͰɲ鿴ַ֧ϼϼİ“+”ӣ磺“Ctrl+C”
ֵֵɹ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;
+ }
+ HKMKeyDown(lpDev,L"F1");
+ HKMDelayRnd(lpDev,90,120);
+ HKMKeyUp(lpDev,L"F1");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMLeftClick.html b/ddl/chm_output/standard_fun/HKMLeftClick.html new file mode 100644 index 0000000..c5dab4e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMLeftClick.html @@ -0,0 +1,45 @@ + + + + +HKMLeftClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMLeftClick
º͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMLeftClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMLeftDoubleClick.html b/ddl/chm_output/standard_fun/HKMLeftDoubleClick.html new file mode 100644 index 0000000..5a8c537 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMLeftDoubleClick.html @@ -0,0 +1,45 @@ + + + + +HKMLeftDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMLeftDoubleClick ˫
˫º͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMLeftDoubleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMLeftDown.html b/ddl/chm_output/standard_fun/HKMLeftDown.html new file mode 100644 index 0000000..26eaef8 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMLeftDown.html @@ -0,0 +1,47 @@ + + + + +HKMLeftDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMLeftDown
¡
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMLeftDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMLeftUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMLeftUp.html b/ddl/chm_output/standard_fun/HKMLeftUp.html new file mode 100644 index 0000000..ac90cbb --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMLeftUp.html @@ -0,0 +1,47 @@ + + + + +HKMLeftUp + + + + + + + + + + + + + + + + + + + + + + + + +
HKMLeftUp
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMLeftDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMLeftUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMiddleClick.html b/ddl/chm_output/standard_fun/HKMMiddleClick.html new file mode 100644 index 0000000..5f62878 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMiddleClick.html @@ -0,0 +1,45 @@ + + + + +HKMMiddleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMiddleClick м
мº͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMMiddleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMiddleDoubleClick.html b/ddl/chm_output/standard_fun/HKMMiddleDoubleClick.html new file mode 100644 index 0000000..ea57bb7 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMiddleDoubleClick.html @@ -0,0 +1,45 @@ + + + + +HKMMiddleDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMiddleDoubleClick м˫
м˫º͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMMiddleDoubleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMiddleDown.html b/ddl/chm_output/standard_fun/HKMMiddleDown.html new file mode 100644 index 0000000..6212c34 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMiddleDown.html @@ -0,0 +1,47 @@ + + + + +HKMMiddleDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMiddleDown м
м¡
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMMiddleDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMMiddleUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMiddleUp.html b/ddl/chm_output/standard_fun/HKMMiddleUp.html new file mode 100644 index 0000000..50429b4 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMiddleUp.html @@ -0,0 +1,47 @@ + + + + +HKMMiddleUp + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMiddleUp м
м
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMMiddleDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMMiddleUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMouseWheel.html b/ddl/chm_output/standard_fun/HKMMouseWheel.html new file mode 100644 index 0000000..71f540d --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMouseWheel.html @@ -0,0 +1,46 @@ + + + + +HKMMouseWheel + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMouseWheel
ֹصúHKMSetMode
1豸ָ롣ʹHKMOpenԴ
+ 232λǹֹϹ¹Ǹ
ֵֵɹ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;
+ }
+ HKMMouseWheel(lpDev,3);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMouseWheelP.html b/ddl/chm_output/standard_fun/HKMMouseWheelP.html new file mode 100644 index 0000000..8143121 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMouseWheelP.html @@ -0,0 +1,46 @@ + + + + +HKMMouseWheelP + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMouseWheelP
ײĹֹUSBײһιֹһĴ127(ֶοֵ3)ڸʹԼʵֹصúHKMSetMode
1豸ָ롣ʹHKMOpenԴ
+ 232λǹֹϹ¹Ǹ
ֵֵɹ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;
+ }
+ HKMMouseWheelP(lpDev,3);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMoveR.html b/ddl/chm_output/standard_fun/HKMMoveR.html new file mode 100644 index 0000000..16ee8fa --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMoveR.html @@ -0,0 +1,47 @@ + + + + +HKMMoveR + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMoveR ƶ
ƶƶƶϵͳĬʹ٣ʵƶĻƶ벻ͬϵͳ㷨Ӱ죬ƶͬʱƶľҲǹ̶ġɹرϵͳ(ָ뾫ȷ)ƶ׼⡣صúHKMSetMode
1豸ָ롣ʹHKMOpenԴ
+ 2꣺32λƶĺꡣ
+ 3꣺32λƶꡣ
ֵֵɹ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;
+ }
+ HKMMoveR(lpDev,100,50);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMoveR2.html b/ddl/chm_output/standard_fun/HKMMoveR2.html new file mode 100644 index 0000000..59318db --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMoveR2.html @@ -0,0 +1,47 @@ + + + + +HKMMoveR2 + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMoveR2 ƶ
ƶHKMMoveRϵͳĬϵӰƶ⣬ȱDzϵͳλصúHKMSetModeHKMSetAbsMouseScrnRes
1豸ָ롣ʹHKMOpenԴ
+ 2꣺32λƶĺꡣ
+ 3꣺32λƶꡣ
ֵֵɹ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;
+ }
+ HKMMoveR2(lpDev,100,50);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMoveRP.html b/ddl/chm_output/standard_fun/HKMMoveRP.html new file mode 100644 index 0000000..0fb14b3 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMoveRP.html @@ -0,0 +1,47 @@ + + + + +HKMMoveRP + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMoveRP ƶ
ײƶUSBײһƶڸʹԼʵƶΪͨΪϷƶ벻ͬͨһƶ붼127(ƶ꣬Ļ)Ϸһƶ붼32767
1豸ָ롣ʹHKMOpenԴ
+ 2꣺32λƶĺꡣ
+ 3꣺32λƶꡣ
ֵֵɹ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;
+ }
+ HKMMoveRP(lpDev,100,50);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMMoveTo.html b/ddl/chm_output/standard_fun/HKMMoveTo.html new file mode 100644 index 0000000..32ca40e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMMoveTo.html @@ -0,0 +1,47 @@ + + + + +HKMMoveTo + + + + + + + + + + + + + + + + + + + + + + + + +
HKMMoveTo ƶ
ƶָĻꡣصúHKMSetModeHKMSetMousePosPrecisionHKMSetMouseMoveTimeoutHKMSetMousePosMaxOffsetHKMSetAbsMouseScrnRes
1豸ָ롣ʹHKMOpenԴ
+ 2꣺32λҪƶĺꡣ
+ 3꣺32λҪƶꡣ
ֵֵɹ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;
+ }
+ HKMMoveTo(lpDev,100,50);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMOpen.html b/ddl/chm_output/standard_fun/HKMOpen.html new file mode 100644 index 0000000..a2c3f2b --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMOpen.html @@ -0,0 +1,72 @@ + + + + +HKMOpen + + + + + + + + + + + + + + + + + + + + + + + + +
HKMOpen 豸
ļӣԱвʹʱעƶ𣩣ϵͳĻ÷仯ʱҪ´豸ȹر豸ٴ豸磺ĻֱʻĻDPI()仯ָٶȻ“ָ뾫ȷ”仯
1豸ID޷32λʹHKMSearchDeviceHKMSearchDevice2Ի
+ 2DPIģʽ޷32λƶHKMMoveToHKMMoveR2ͻ꣨HKMGetCursorPosHKMGetCursorPos2ʱʹõDPIģʽϵͳΪֳ֧ţʹ˲ͬ꣬ͬDPIģʽӦͬ㷽ʽDPIģʽеǰֶwindowsϵͳеģʽɲ΢˽ϸݣ漸ģʽı仯ȡֵ
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ÿʾDPI֪ģʽϵͳDPIúʾDPIӰ죬ÿʾһһӦģwindowsϵͳWIN8.1ʼִ֧ģʽWIN8.1ǰЧϵͳDPI֪
1ϵͳDPI֪WIN8.1ǰϵͳÿʾһһӦģWIN8.1WIN8.1ԺϵͳÿʾòͬDPIÿʾزһһӦϵֻһʾҿעص¼ûĹDPIÿʾػһһӦġ
2DPI֪ûдDPIʱ״̬̰ϵͳDPIʾDPI100%ʱ״̬ϵͳԿǣDPI100%ʱһDPI100%ʱᵼ³ģ
3DPIãģʽҪĿDzͷźִDPI̡ڷϵ£ЧÿʾDPI֪ڲϵ£DPI任޷ϵǣWIN8.1ǰϵͳϵͳDPI100%ߵǰĵDPI֪ϵͳDPI֪WIN8.1WIN8.1ԺϵͳʾDPI100%ʱǰĵDPI֪ÿʾDPI֪ʱ
4ǰĵDPI֪ݵǰľDPI֪
ֵָ롣豸ҲԿɾʧܷNULLʹʱHKMCloseԹرͷԴWIN10ǰϵͳʧԭڰȫػϵͳȨ⵼DPIʧܣ԰Ѳ2Ϊ3ģDPIֽ֧⡣
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;
+ }
+ //ִв
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMOpen2.html b/ddl/chm_output/standard_fun/HKMOpen2.html new file mode 100644 index 0000000..2321bad --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMOpen2.html @@ -0,0 +1,80 @@ + + + + +HKMOpen2 + + + + + + + + + + + + + + + + + + + + + + + + +
HKMOpen2 豸
ļӣһģʽһģʽԱǽвʹʱעƶ𣩣ϵͳĻ÷仯ʱҪ´豸ȹر豸ٴ豸磺ĻֱʻĻDPI()仯ָٶȻ“ָ뾫ȷ”仯
1һ豸ID޷32λʹHKMSearchDeviceHKMSearchDevice2Ի
+ 2ڶ豸ID޷32λʹHKMSearchDeviceHKMSearchDevice2Ի
+ 3DPIģʽ޷32λƶHKMMoveToHKMMoveR2ͻ꣨HKMGetCursorPosHKMGetCursorPos2ʱʹõDPIģʽϵͳΪֳ֧ţʹ˲ͬ꣬ͬDPIģʽӦͬ㷽ʽDPIģʽеǰֶwindowsϵͳеģʽɲ΢˽ϸݣ漸ģʽı仯ȡֵ
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ÿʾDPI֪ģʽϵͳDPIúʾDPIӰ죬ÿʾһһӦģwindowsϵͳWIN8.1ʼִ֧ģʽWIN8.1ǰЧϵͳDPI֪
1ϵͳDPI֪WIN8.1ǰϵͳÿʾһһӦģWIN8.1WIN8.1ԺϵͳÿʾòͬDPIÿʾزһһӦϵֻһʾҿעص¼ûĹDPIÿʾػһһӦġ
2DPI֪ûдDPIʱ״̬̰ϵͳDPIʾDPI100%ʱ״̬ϵͳԿǣDPI100%ʱһDPI100%ʱᵼ³ģ
3DPIãģʽҪĿDzͷźִDPI̡ڷϵ£ЧÿʾDPI֪ڲϵ£DPI任޷ϵǣWIN8.1ǰϵͳϵͳDPI100%ߵǰĵDPI֪ϵͳDPI֪WIN8.1WIN8.1ԺϵͳʾDPI100%ʱǰĵDPI֪ÿʾDPI֪ʱ
4ǰĵDPI֪ݵǰľDPI֪
ֵָ롣豸ҲԿɾʧܷNULLʹʱHKMCloseԹرͷԴWIN10ǰϵͳʧԭڰȫػϵͳȨ⵼DPIʧܣ԰Ѳ3Ϊ3ģDPIֽ֧⡣
C
DWORD dwDevId1,dwDevId2;
+ LPVOID lpDev;
+ dwDevId1=HKMSearchDevice(0x1234,0xABCD,2);
+ if(dwDevId1==0xFFFFFFFF)
+ {
+     printf("δҵļ(ģʽ)\n");
    return 0;
+ }
+ dwDevId2=HKMSearchDevice(0x1234,0xABCD,3);
+if(dwDevId2==0xFFFFFFFF)
+{
+    printf("δҵļ(ģʽ)\n");
+    return 0;
+}
+ lpDev=HKMOpen2(dwDevId1,dwDevId2,0);
+ if(lpDev==NULL)
+ {
+     printf("ļʧ\n");
+    return 0;
+ }
+ //ִв
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMOutputString.html b/ddl/chm_output/standard_fun/HKMOutputString.html new file mode 100644 index 0000000..582ecfe --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMOutputString.html @@ -0,0 +1,46 @@ + + + + +HKMOutputString + + + + + + + + + + + + + + + + + + + + + + + + +
HKMOutputString ַ
ҪıĵطַַģʽʹHKMSetModeٶʹHKMSetKeyInterval룬Ҫ޸ַģʽҪע⵱ǰ뷨е뷨֧룬޷ȫ޷⡣
1豸ָ롣ʹHKMOpenԴ
+ 2ַַ(Unicode/Ansi)ĬUnicodeַͨHKMSetMode޸Ϊ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;
+ }
+ HKMOutputString(lpDev,L"ַ");
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMReleaseKeyboard.html b/ddl/chm_output/standard_fun/HKMReleaseKeyboard.html new file mode 100644 index 0000000..b54b04a --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMReleaseKeyboard.html @@ -0,0 +1,47 @@ + + + + +HKMReleaseKeyboard + + + + + + + + + + + + + + + + + + + + + + + + +
HKMReleaseKeyboard ͷż̰
ļм̰µļȫ
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMKeyDown(lpDev,L"A");
+ HKMDelayRnd(lpDev,90,120);
+ HKMReleaseKeyboard(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMReleaseMouse.html b/ddl/chm_output/standard_fun/HKMReleaseMouse.html new file mode 100644 index 0000000..9f7e371 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMReleaseMouse.html @@ -0,0 +1,47 @@ + + + + +HKMReleaseMouse + + + + + + + + + + + + + + + + + + + + + + + + +
HKMReleaseMouse ͷ갴
ļ갴µļȫ
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMLeftDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMReleaseMouse(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMRightClick.html b/ddl/chm_output/standard_fun/HKMRightClick.html new file mode 100644 index 0000000..5a2f3c7 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMRightClick.html @@ -0,0 +1,45 @@ + + + + +HKMRightClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMRightClick Ҽ
Ҽº͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMRightClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMRightDoubleClick.html b/ddl/chm_output/standard_fun/HKMRightDoubleClick.html new file mode 100644 index 0000000..3ce98eb --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMRightDoubleClick.html @@ -0,0 +1,45 @@ + + + + +HKMRightDoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMRightDoubleClick Ҽ˫
Ҽ˫º͵ʱʹHKMSetMouseInterval
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMRightDoubleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMRightDown.html b/ddl/chm_output/standard_fun/HKMRightDown.html new file mode 100644 index 0000000..0fe8d92 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMRightDown.html @@ -0,0 +1,47 @@ + + + + +HKMRightDown + + + + + + + + + + + + + + + + + + + + + + + + +
HKMRightDown Ҽ
Ҽ¡
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMRightDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMRightUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMRightUp.html b/ddl/chm_output/standard_fun/HKMRightUp.html new file mode 100644 index 0000000..580dc6e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMRightUp.html @@ -0,0 +1,47 @@ + + + + +HKMRightUp + + + + + + + + + + + + + + + + + + + + + + + + +
HKMRightUp Ҽ
Ҽ
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMRightDown(lpDev);
+ HKMDelayRnd(lpDev,90,120);
+ HKMRightUp(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSearchDevice.html b/ddl/chm_output/standard_fun/HKMSearchDevice.html new file mode 100644 index 0000000..419150d --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSearchDevice.html @@ -0,0 +1,56 @@ + + + + +HKMSearchDevice + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSearchDevice 豸
ļӡ
1VID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+3豸ģʽ޷32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
ֵ޷32λһʱ豸IDţֻԵǰģЧûҵʧܷ0xFFFFFFFF
C
printf("豸ID:%08X\n",HKMSearchDevice(0x1234,0xABCD,0));
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSearchDevice2.html b/ddl/chm_output/standard_fun/HKMSearchDevice2.html new file mode 100644 index 0000000..bfde177 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSearchDevice2.html @@ -0,0 +1,57 @@ + + + + +HKMSearchDevice2 + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSearchDevice2 豸
ļӡ
1VID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+3кţ޷32λÿļӵֵһù߲鿴
+4豸ģʽ޷32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
ֵ޷32λһʱ豸IDţֻԵǰģЧûҵʧܷ0xFFFFFFFF
C
printf("豸ID:%08X\n",HKMSearchDevice2(0x1234,0xABCD,0x12345678,1));
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSearchDeviceAll.html b/ddl/chm_output/standard_fun/HKMSearchDeviceAll.html new file mode 100644 index 0000000..d36037b --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSearchDeviceAll.html @@ -0,0 +1,70 @@ + + + + +HKMSearchDeviceAll + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSearchDeviceAll ȫ豸
ҷȫļӡ
1VID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵVIDΪֵ
+2PID޷32λÿļӵֵܲһù߲鿴ֵΪ65536ʱԴҵļӵPIDΪֵ
+3豸ģʽ޷32λòҵļӵģʽȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0ģʽ
1ģʽ
2ģʽ
3ģʽ
ֵ޷32λַɹ豸ID飬HKMGetDataCountȡԪʧܷNULLʹַʱʹHKMFreeDataͷռõԴ
C
LPDWORD pDevId;
+ DWORD dwCount,i;
+ pDevId=HKMSearchDeviceAll(0x1234,0xABCD,0);
+ if(pDevId==NULL)
+ {
+     printf("豸ʧ\n");
+     return 0;
+ }
+ dwCount=HKMGetDataCount(pDevId);
+ printf("ҵ豸:%u\n",dwCount);
+ for(i=0;i<dwCount;i++)
+ {
+     printf("%08X\n",pDevId[i]);
+ }
+ HKMFreeData(pDevId);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetAbsMouseScrnRes.html b/ddl/chm_output/standard_fun/HKMSetAbsMouseScrnRes.html new file mode 100644 index 0000000..3f94bfd --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetAbsMouseScrnRes.html @@ -0,0 +1,47 @@ + + + + +HKMSetAbsMouseScrnRes + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetAbsMouseScrnRes þĻֱ
þƶʾĻֱʡйغHKMMoveToHKMMoveR2
1豸ָ롣ʹHKMOpenԴ
+ 2ȣ32λ2Ͳ3ȡ0ʱĻֱΪǰϵͳʾĻֱʡ
+ 3߶ȣ32λ
ֵֵɹ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;
+ }
+ HKMSetAbsMouseScrnRes(lpDev,800,600);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetDevDescInfo.html b/ddl/chm_output/standard_fun/HKMSetDevDescInfo.html new file mode 100644 index 0000000..4b2c506 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetDevDescInfo.html @@ -0,0 +1,71 @@ + + + + +HKMSetDevDescInfo + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetDevDescInfo 豸Ϣ
ļӵ豸ϢļӵUSBӿϢ豸Ϣı䣬ϵͳʶ豸ԶװҪȴӻʱʹãвҪγӣᵼϵͳװʧܡ޸ĺҪر豸ȴϵͳװɺٲҺʹ豸ЩܻܵӰ죬޷ļӻĹ̼汾ڵ1.2.0ִ֧˺
1豸ָ롣ʹHKMOpenԴ
+ 2VID޷32λUSBӿڵIDֵķΧ0-65535ֵΪ65536ʱ޸ļVIDֵ
+ 3PID޷32λUSBӿڵIJƷIDֵķΧ0-65535ֵΪ65536ʱ޸ļPIDֵ
+ 4汾޷32λUSBӿڵ豸汾ֵķΧ0-65535ֵΪ65536ʱ޸ļӰ汾ֵ
+ 5ַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)USBӿڵַĬUnicodeַͨHKMSetMode޸ΪAnsiַ޸ʱʹ޷32/64λֵΪ1
+ 6Ʒַ(Unicode/Ansi)޷32/64λ(32λģ32λ64λģ64λ)USBӿڵIJƷòƷַĬUnicodeַͨHKMSetMode޸ΪAnsiַ޸IJƷʱʹ޷32/64λֵΪ1
+ 7ģʽ޷32λȡֵ£
+ + + + + + + + + + + + + + + + + +
ֵ˵
0ȡʱá
1ʱãϵ磨USBӿͣγļӣָ
2ãϵ󲻻ָôƣϵֻ5Ρ
+ 8Ƿ꣺ֵȡFALSEʱԶ豸Ϣͬʱмģʽģʽ豸üģʽ豸豸ϢȡTRUEʱԶ豸Ϣͬʱмģʽģʽ豸ģʽ豸豸Ϣ
ֵֵɹ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;
+ }
+ //޸豸ϢPID޸
+ HKMSetDevDescInfo(lpDev,0x1235,0x10000,0x0101,(LPCWSTR)1,L"Mouse",1,FALSE);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetKeyInterval.html b/ddl/chm_output/standard_fun/HKMSetKeyInterval.html new file mode 100644 index 0000000..8759bc9 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetKeyInterval.html @@ -0,0 +1,47 @@ + + + + +HKMSetKeyInterval + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetKeyInterval ðʱ
ṵ̈º͵֮ʱֻԵǰ豸ЧʱǸһΧڵֵҲóɹ̶ֵĬϰʱǸ100븽ֵйغHKMKeyPressHKMOutputString
1豸ָ롣ʹHKMOpenԴ
+ 2ʱ䣺޷32λλ롣
+ 3ʱ䣺޷32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹ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;
+ }
+ HKMSetKeyInterval(lpDev,100,150);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetLightMode.html b/ddl/chm_output/standard_fun/HKMSetLightMode.html new file mode 100644 index 0000000..4e05047 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetLightMode.html @@ -0,0 +1,69 @@ + + + + +HKMSetLightMode + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetLightMode ָʾģʽ
ļӵָʾģʽļӻĹ̼汾ڵ1.1.0ִ֧˺
1豸ָ롣ʹHKMOpenԴ
+ 2ģʽ޷32λȡֵ£
+ + + + + + + + + + + + + + + + + + + + + +
ֵ˵
0˸(Ĭģʽ)
1
2
8ģʽλӸλʱģʽ䣬ֵλʹ
+ 3Ƿ꣺ֵȡFALSEʱԶָʾģʽͬʱмģʽģʽ豸üģʽ豸ָʾģʽȡTRUEʱԶָʾģʽͬʱмģʽģʽ豸ģʽ豸ָʾģʽ
ֵֵɹ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;
+ }
+ HKMSetLightMode(lpDev,1,FALSE);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMode.html b/ddl/chm_output/standard_fun/HKMSetMode.html new file mode 100644 index 0000000..9ec2401 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMode.html @@ -0,0 +1,153 @@ + + + + +HKMSetMode + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMode ģʽ
ļӵĹģʽֻԵǰ豸Ч
1豸ָ롣ʹHKMOpenԴ
+ 2ԣ޷32λ
+ 3ģʽ޷32λ
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
˵ģʽģʽ˵
2ƶķʽ0ǷƶĬģʽͨһֵѡͬʱѡֵûϡйغHKMMoveToHKMMoveRHKMMoveR2ƶģʽֵ1ƶֻ׷ƶٶȣģֶƶʽ
2ƶֻͨƶǾƶƶֻʾƶʹúHKMMoveToHKMMoveR2ԾƶʽУҪļӿ“”ģʽ“+”ģʽע⣺HKMMoveToûþƶҲʵ־ƶHKMMoveR2þƶþʵƶ
4ƶģʽƶָֻûʹ“ָ뾫ȷ”“ѡָƶٶ”м䣨ƶĻı1:1win10Dpi100%ʱʹãƶвƶӰ죬ŵٶȿЩʹþƶʱЧHKMMoveRЧ
0ģʽʼ٣١ʹÿƶʱЧ
8ģʽ޼Ӽ٣ʱήٶȡʹÿƶʱЧHKMMoveToHKMMoveR2ھƶͻƶģʽûʹʱЧ
16ģʽ޼Ӽ٣ʱٶȡʹÿƶʱЧHKMMoveToHKMMoveR2ھƶͻƶģʽûʹʱЧ
3ֹʽйغHKMMouseWheel0ģֵֶķʽٶȽ(Ĭģʽ)
1ٹֻ׷ֹٶȣģֵֶķʽ
4ַ룬ͬڽַܵ벻ͬѡ˻յ룬йغHKMOutputString0ANSIַ(Ĭģʽ)
1UNICODEַ
2ANSIַģʽ0IJǣ֡ĸͲַʱֶһٶȸ죬ܼ̻뷨š
3UNICODEַģʽ1IJǣ֡ĸͲַʱֶһٶȸ죬ܼ̻뷨š
4ʹüճַŵַʱٶȸҲ뷨Ӱ죬ȱǻдݺͲ֧ڡ
5ͬʽͬǵȴӵݱӲգϵͳѾ˸ݣʱϵͳæӲյϵͳ֮ʱһʱ϶̣1롣0ȫͬĬģʽ첽ͨһֵѡͬʱѡֵûϡйغHKMKeyPressHKMKeyDownHKMKeyUpHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMLeftDownHKMRightDownHKMMiddleDownHKMXBtn1DownHKMXBtn2DownHKMLeftUpHKMRightUpHKMMiddleUpHKMXBtn1UpHKMXBtn2UpHKMMoveRPHKMMouseWheelPHKMOutputString1첽ȴ̶ֱӷ
2첽ȴ궯ֱӷ
6ʱĸʷֲʽйغHKMDelayRndHKMKeyPressHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMOutputString0ʱȷֲʱֵĸͬ(Ĭģʽ)
1ʱƫСֲʱֵԽСԽߣֵĸʽӽ0
7ʱʽйغHKMDelayRndHKMKeyPressHKMLeftClickHKMRightClickHKMMiddleClickHKMXBtn1ClickHKMXBtn2ClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClickHKMXBtn1DoubleClickHKMXBtn2DoubleClickHKMOutputString0Ϣ(Ĭģʽ)
1Ϣ
32ͷֵеַͣڽеı̹߶Unicodeֲַ֧õ⡣йغHKMGetDevStringHKMKeyPressHKMKeyDownHKMKeyUpHKMOutputStringHKMVerifyUserDataHKMVerifyUserData20ַʹ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);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMouseInterval.html b/ddl/chm_output/standard_fun/HKMSetMouseInterval.html new file mode 100644 index 0000000..faf1151 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMouseInterval.html @@ -0,0 +1,47 @@ + + + + +HKMSetMouseInterval + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMouseInterval ʱ
º͵֮ʱֻԵǰ豸ЧʱǸһΧڵֵҲóɹ̶ֵĬʱǸ100븽ֵйغHKMLeftClickHKMRightClickHKMMiddleClickHKMLeftDoubleClickHKMRightDoubleClickHKMMiddleDoubleClick
1豸ָ롣ʹHKMOpenԴ
+ 2ʱ䣺޷32λλ롣
+ 3ʱ䣺޷32λλ롣ʱʱʱʱǹ̶ֵ
ֵֵɹ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;
+ }
+ HKMSetMouseInterval(lpDev,100,150);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMouseMoveTimeout.html b/ddl/chm_output/standard_fun/HKMSetMouseMoveTimeout.html new file mode 100644 index 0000000..ee6b05e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMouseMoveTimeout.html @@ -0,0 +1,46 @@ + + + + +HKMSetMouseMoveTimeout + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMouseMoveTimeout ƶʱʱ
ƶʱ䳬趨ʱʱֹͣƶFALSEֻԵǰ豸ЧغHKMMoveTo
1豸ָ롣ʹHKMOpenԴ
+ 2ʱ䣺޷32λƶʱʱ䣬λ롣ȡֵΪ0xFFFFFFFFʱȡʱʱơĬֵ10롣
ֵֵɹ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;
+ }
+ HKMSetMouseMoveTimeout(lpDev,50000);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMousePosMaxOffset.html b/ddl/chm_output/standard_fun/HKMSetMousePosMaxOffset.html new file mode 100644 index 0000000..c66d3ca --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMousePosMaxOffset.html @@ -0,0 +1,46 @@ + + + + +HKMSetMousePosMaxOffset + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMousePosMaxOffset ƫ
ֶƶʱͨÿζ㵽ͬ꣬һΧģΪõƫֵֻԵǰ豸ЧغHKMMoveTo
1豸ָ롣ʹHKMOpenԴ
+ 2ƫƣ޷32λƫֵĬֵ0
ֵֵɹ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;
+ }
+ HKMSetMousePosMaxOffset(lpDev,2);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMousePosPrecision.html b/ddl/chm_output/standard_fun/HKMSetMousePosPrecision.html new file mode 100644 index 0000000..ec46cf7 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMousePosPrecision.html @@ -0,0 +1,46 @@ + + + + +HKMSetMousePosPrecision + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMousePosPrecision 꾫
ϵͳеƶٶȹʱ޷ȷÿأĿ긽ܾãʱҪ꾫ȣƶĿʱƫֻԵǰ豸ЧغHKMMoveToHKMMoveR2
1豸ָ롣ʹHKMOpenԴ
+ 2ȣ޷32λƫĬֵ0
ֵֵɹ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;
+ }
+ HKMSetMousePosPrecision(lpDev,1);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetMouseSpeed.html b/ddl/chm_output/standard_fun/HKMSetMouseSpeed.html new file mode 100644 index 0000000..98d199e --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetMouseSpeed.html @@ -0,0 +1,48 @@ + + + + +HKMSetMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetMouseSpeed ٶ
ƶٶȡõǼƶٶȵֵƶģʽHKMMoveRPӰ졣йغHKMMoveRHKMMoveR2HKMMoveTo
1豸ָ롣ʹHKMOpenԴ
+2ٶȣֵ޷32λȡֵΧ5-100ֵԽٶԽ죬Ĭֵ45ʹٶֵȫ̶ˣƶٶСΧƶģʽHKMMoveRP⣩
ֵֵɹ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;
+}
+HKMSetMouseSpeed(lpDev,20);
+HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetOSMouseSpeed.html b/ddl/chm_output/standard_fun/HKMSetOSMouseSpeed.html new file mode 100644 index 0000000..fa94f5d --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetOSMouseSpeed.html @@ -0,0 +1,33 @@ + + + + +HKMSetOSMouseSpeed + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetOSMouseSpeed ϵͳٶ
ϵͳٶȡϵͳٶϵͳе“ѡָƶٶ”õƶٶϵͳƶٶȵı
1ٶȣ32λֵķΧ1-20ֵԽϵͳеٶԽ죬ϵͳĬֵ10
+2Ƿ񱣴棺ֵȡTRUEʱϵͳȻЧȡFALSEʱϵͳָá
ֵֵɹTRUEʧܷFALSE
C
HKMSetOSMouseSpeed(10,FALSE);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetResetMode.html b/ddl/chm_output/standard_fun/HKMSetResetMode.html new file mode 100644 index 0000000..6b9c863 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetResetMode.html @@ -0,0 +1,66 @@ + + + + +HKMSetResetMode + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetResetMode øλģʽ
ļӵʱλģʽʱλģʽʱλʹHKMSetResetTimeļӻĹ̼汾ڵ1.1.0ִ֧˺
1豸ָ롣ʹHKMOpenԴ
+ 2ģʽ޷32λȡֵ£
+ + + + + + + + + + + + + +
ֵ˵
0Ӳλ(Ĭģʽ)
1갴״̬λ
+ 3Ƿ꣺ֵȡFALSEʱԶøλģʽͬʱмģʽģʽ豸üģʽ豸ĸλģʽȡTRUEʱԶøλģʽͬʱмģʽģʽ豸ģʽ豸ĸλģʽ
ֵֵɹ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;
+ }
+ HKMSetResetMode(lpDev,1,FALSE);
+ for(;;)
+ {
+     HKMSetResetTime(lpDev,1000,FALSE);
+     HKMDelayRnd(lpDev,90,120);
+ }
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMSetResetTime.html b/ddl/chm_output/standard_fun/HKMSetResetTime.html new file mode 100644 index 0000000..c47dd37 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMSetResetTime.html @@ -0,0 +1,52 @@ + + + + +HKMSetResetTime + + + + + + + + + + + + + + + + + + + + + + + + +
HKMSetResetTime øλʱ
ļӵʱλʱ䡣иʱʹøúʱ䵽˾ͻʹӸλʹʺӵļʹʱ¼ʱλʱʧЧҪʹøúáļʱ»ͨѶ쳣߳ͻȻ˳°µļ޷ȥЩ²κӷաֹͣļӲرʱλΪļ̺ǽӴһ㲻ָλļӻһִ֧˺
+ ʺӵĺУHKMGetVersionHKMIsOpenHKMCloseHKMSetModeHKMSetKeyIntervalHKMSetMouseIntervalHKMSetAbsMouseScrnResHKMSetMouseMoveTimeoutHKMSetMousePosMaxOffsetHKMSetMousePosPrecisionHKMDelayRndHKMCheckPressedKeysHKMFreeDataHKMIsOSMouseAccelerateEnabledHKMEnableOSMouseAccelerateHKMGetOSMouseSpeedHKMSetOSMouseSpeedHKMGetDevStringغHKMSetResetMode
1豸ָ롣ʹHKMOpenԴ
+ 2ʱʱ䣺޷32λλ롣ȡ0ʱرʱλ0ʱСֵ50룬ֵ19Сʱ
+ 3Ƿ꣺ֵȡFALSEʱԶʱλʱ䣬ͬʱмģʽģʽ豸üģʽ豸ʱλʱ䡣ȡTRUEʱԶʱλʱ䣬ͬʱмģʽģʽ豸ģʽ豸ʱλʱ䡣
ֵֵɹ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;
+ }
+ for(;;)
+ {
+     HKMSetResetTime(lpDev,1000,FALSE);
+     HKMDelayRnd(lpDev,90,120);
+ }
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMVerifyUserData.html b/ddl/chm_output/standard_fun/HKMVerifyUserData.html new file mode 100644 index 0000000..7b15f8d --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMVerifyUserData.html @@ -0,0 +1,47 @@ + + + + +HKMVerifyUserData + + + + + + + + + + + + + + + + + + + + + + + + +
HKMVerifyUserData ֤û
֤ûʹ“ļ޸”дַַǷͬļӻһĹ̼汾ڵ1.2.0ִ֧˺صúHKMSetMode
1豸ָ롣ʹHKMOpenԴ
+ 2ַַ(Unicode/Ansi)ĬUnicodeַͨHKMSetMode޸ΪAnsiַ
+ 3Ƿ꣺ֵȡFALSEʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡȡTRUEʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸ûݡ
ֵֵͬ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;
+ }
+ printf("֤ûݣ%d\n",HKMVerifyUserData(lpDev,L"ҵû",FALSE));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMVerifyUserData2.html b/ddl/chm_output/standard_fun/HKMVerifyUserData2.html new file mode 100644 index 0000000..411d162 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMVerifyUserData2.html @@ -0,0 +1,47 @@ + + + + +HKMVerifyUserData2 + + + + + + + + + + + + + + + + + + + + + + + + +
HKMVerifyUserData2 ֤û2
֤ûʹ“ļ޸”дַַǷͬHKMVerifyUserData棬ûݺ֤ݷ룬޷֤ͨݻûݡڹ̼ԭHKMVerifyUserDataHKMVerifyUserData2֧ͬʱʹáļӻһִ֧˺صúHKMSetMode
1豸ָ롣ʹHKMOpenԴ
+ 2֤ݣַ(Unicode/Ansi)ĬUnicodeַͨHKMSetMode޸ΪAnsiַ
+ 3Ƿ꣺ֵȡFALSEʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸֤ݡȡTRUEʱԶ֤ûݣͬʱмģʽģʽ豸֤ģʽ豸֤ݡ
ֵ32λ޷֤ͨ32λкֵ֤ûͨ32λкֵķ룬ʧܷ0кſʹHKMGetSerialNumberȡ
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;
+ }
+ printf("֤ûݣ%d\n",HKMVerifyUserData(lpDev,L"1234567890ABCDEF1234567890ABCDEF",FALSE)==HKMGetSerialNumber(lpDev,FALSE));
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn1Click.html b/ddl/chm_output/standard_fun/HKMXBtn1Click.html new file mode 100644 index 0000000..2aa3974 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn1Click.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn1Click + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn1Click XButton1
XButton1º͵ʱʹHKMSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn1Click(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn1DoubleClick.html b/ddl/chm_output/standard_fun/HKMXBtn1DoubleClick.html new file mode 100644 index 0000000..d34ea49 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn1DoubleClick.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn1DoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn1DoubleClick XButton1˫
XButton1˫º͵ʱʹHKMSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn1DoubleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn1Down.html b/ddl/chm_output/standard_fun/HKMXBtn1Down.html new file mode 100644 index 0000000..425511b --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn1Down.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn1Down + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn1Down XButton1
XButton1¡ļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn1Down(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn1Up.html b/ddl/chm_output/standard_fun/HKMXBtn1Up.html new file mode 100644 index 0000000..1133496 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn1Up.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn1Up + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn1Up XButton1
XButton1ļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn1Up(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn2Click.html b/ddl/chm_output/standard_fun/HKMXBtn2Click.html new file mode 100644 index 0000000..245cc63 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn2Click.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn2Click + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn2Click XButton2
XButton2º͵ʱʹHKMSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn2Click(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn2DoubleClick.html b/ddl/chm_output/standard_fun/HKMXBtn2DoubleClick.html new file mode 100644 index 0000000..6721d19 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn2DoubleClick.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn2DoubleClick + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn2DoubleClick XButton2˫
XButton2˫º͵ʱʹHKMSetMouseIntervalļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn2DoubleClick(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn2Down.html b/ddl/chm_output/standard_fun/HKMXBtn2Down.html new file mode 100644 index 0000000..5b24993 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn2Down.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn2Down + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn2Down XButton2
XButton2¡ļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn2Down(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/HKMXBtn2Up.html b/ddl/chm_output/standard_fun/HKMXBtn2Up.html new file mode 100644 index 0000000..0913d51 --- /dev/null +++ b/ddl/chm_output/standard_fun/HKMXBtn2Up.html @@ -0,0 +1,45 @@ + + + + +HKMXBtn2Up + + + + + + + + + + + + + + + + + + + + + + + + +
HKMXBtn2Up XButton2
XButton2ļӻĹ̼汾ڵ1.1.0ΪϷִ֧˺
1豸ָ롣ʹHKMOpenԴ
ֵֵɹ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;
+ }
+ HKMXBtn2Up(lpDev);
+ HKMClose(lpDev);
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/Type.html b/ddl/chm_output/standard_fun/Type.html new file mode 100644 index 0000000..bdb7062 --- /dev/null +++ b/ddl/chm_output/standard_fun/Type.html @@ -0,0 +1,15 @@ + + + + +˵ + + + +

˵

+

VCģԻе죬Բͽ˵

+

ֵԿռĸֽڣTRUE1FALSE0

+

ַַָ,ַΪ0ַAnsiUnicode֣еַͿʹHKMSetModeá

+

+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/VirtualKeyTable.html b/ddl/chm_output/standard_fun/VirtualKeyTable.html new file mode 100644 index 0000000..bf12efb --- /dev/null +++ b/ddl/chm_output/standard_fun/VirtualKeyTable.html @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
8Backspace˸88X 
9TabTab89Y 
13Enterس90Z 
16ShiftShift91Left WinWindows
17CtrlCtrl92Right WinWindows
18AltAlt93Apps˵
19Pauseͣ96Num 0С0
20Caps LockСдл97Num 1С1
27Esc˳98Num 2С2
32Spaceո99Num 3С3
33Page UpϷҳ100Num 4С4
34Page Down·ҳ101Num 5С5
35Endβ102Num 6С6
36Homeʼ103Num 7С7
37LeftƼͷ104Num 8С8
38UpƼϼͷ105Num 9С9
39RightƼҼͷ106Num *С*
40DownƼ¼ͷ107Num +С+
44Print Screen108Num EnterС̻س
45Insert109Num -С-
46Deleteɾ110Num .С.
480 111Num /С/
491 112F1 
502 113F2 
513 114F3 
524 115F4 
535 116F5 
546 117F6 
557 118F7 
568 119F8 
579 120F9 
65A 121F10 
66B 122F11 
67C 123F12 
68D 144Num LockСл
69E 145Scroll Lock 
70F 160Left ShiftShift
71G 161Right ShiftShift
72H 162Left CtrlCtrl
73I 163Right CtrlCtrl
74J 164Left AltAlt
75K 165Right AltAlt
76L 186;;:
77M 187==+
78N 188,,<
79O 189--_
80P 190..>
81Q 191//?
82R 192``~
83S 219[[{
84T 220\\|
85U 221]]}
86V 222''"
87W    
+ + \ No newline at end of file diff --git a/ddl/chm_output/standard_fun/css/help.css b/ddl/chm_output/standard_fun/css/help.css new file mode 100644 index 0000000..9c5f3ef --- /dev/null +++ b/ddl/chm_output/standard_fun/css/help.css @@ -0,0 +1,17 @@ +@charset "gb2312"; +body{font-size:12px; font-family:Verdana,"";} +.ts{ background:#fff; margin:0;} +.ts th{ + color:#666666; + background:#D8D8D8; + line-height:24px; + font-family: Verdana, ""; +} +.ts td {padding:6px 0;} +.name { font-size:16px; font-weight:bold; border-top:1px dashed #9C9A9C; border-bottom:1px dashed #9C9A9C; color:#006939;} +.canshu { background:#E7E7EF;} +.fanhui { border-bottom:1px dashed #9C9A9C;} +.lizi { border-bottom:1px dashed #9C9A9C;} +.neirong { border-bottom:1px dashed #9C9A9C;} +.thf {color: #000000;} +.note {color: #006600;} diff --git a/ddl/chm_output/wyhkmPrj.hhc b/ddl/chm_output/wyhkmPrj.hhc new file mode 100644 index 0000000..3ac5208 --- /dev/null +++ b/ddl/chm_output/wyhkmPrj.hhc @@ -0,0 +1,1202 @@ + + +
    +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
  • + + +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
  • + + +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
      +
    • + + + + +
    +
diff --git a/ddl/chm_output/wyhkmPrj.hhk b/ddl/chm_output/wyhkmPrj.hhk new file mode 100644 index 0000000..919e942 --- /dev/null +++ b/ddl/chm_output/wyhkmPrj.hhk @@ -0,0 +1,873 @@ + +
    +
  • + + + +
  • + + + +
  • + + + +
  • + + +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
  • + + +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
      +
    • + + + +
    +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
diff --git a/ddl/example.py b/ddl/example.py new file mode 100644 index 0000000..e71eb37 --- /dev/null +++ b/ddl/example.py @@ -0,0 +1,47 @@ +#64位的Python使用64位的无涯键鼠盒子模块 +#本例子使用的无涯键鼠盒子模块是5.00 +import sys +import win32api +import win32com.client +from ctypes import * + +#进程内注册插件,模块所在的路径按照实际位置修改 +hkmdll = windll.LoadLibrary("D:\\Plugin\\x64\\wyhkm.dll") +hkmdll.DllInstall.argtypes=(c_long,c_longlong) +if hkmdll.DllInstall(1,2)<0: + print("注册失败!") + sys.exit(0) + +#创建对象 +try: + wyhkm=win32com.client.Dispatch("wyp.hkm") +except: + print("创建对象失败!") + sys.exit(0) +#获得模块版本号 +version=wyhkm.GetVersion() +print("无涯键鼠盒子模块版本:"+hex(version)) +#查找设备,这个只是例子,参数中的VID和PID要改成实际值 +DevId=wyhkm.SearchDevice(0x2612, 0x1701, 0) +if DevId==-1: + print("未找到无涯键鼠盒子") + sys.exit(0) +#打开设备,DPI模式取每个显示器DPI感知 +if not wyhkm.Open(DevId,0): + print("打开无涯键鼠盒子失败") + sys.exit(0) +#打开资源管理器快捷键Win+E +wyhkm.KeyDown("WIN") +wyhkm.DelayRnd(100,150) +wyhkm.KeyPress("E") +wyhkm.DelayRnd(100,150) +wyhkm.KeyUp("WIN") +x=0 +y=0 +r=wyhkm.GetCursorPos(x,y) +print(str(x) + "," + str(y)) +print(len(r)) +print(r) +print(wyhkm.CheckPressedKeys(0)) +#关闭设备 +wyhkm.Close() diff --git a/ddl/wyhkm.dll b/ddl/wyhkm.dll new file mode 100644 index 0000000000000000000000000000000000000000..4eb62b2e775200ed9efe769831e205a53363424b GIT binary patch literal 337408 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%0D14+YS&uF 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

sL#+zUN2RLY>)in-U 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 Ny9a*v!2g~H{x9%+_ZR>G literal 0 HcmV?d00001 diff --git a/ddl/接入方法.txt b/ddl/接入方法.txt new file mode 100644 index 0000000..8a4a0f5 --- /dev/null +++ b/ddl/接入方法.txt @@ -0,0 +1,26 @@ +COM接口调用 +1.注册: +注册有两种方法:常规注册方法、进程内注册方法。常规注册方法会写注册表,可能导致安全软件报警或者被检测。进程内注册方法不写注册表,没有这些问题,但是只在当前进程有效,新的进程要重新注册。 + +1)常规注册方法:在同一台电脑上,模块文件或者路径不变化时,只要注册一次即可。 +注册本模块可使用regsvr32命令,也可以直接调用本模块的DllRegisterServer接口。 +注册本模块的vbs例子如下(管理员权限): +Set wshshell = CreateObject("wscript.shell") +wshshell.run "regsvr32 /s ""D:\Plugin\wyhkm.dll""" +无管理员权限注册模块的例子如下: +Set wshshell = CreateObject("wscript.shell") +wshshell.run "regsvr32 /s /n /i:user ""D:\Plugin\wyhkm.dll""" + +注意:如果在64位系统中使用的是32位模块,双击直接运行vbs文件是用64位脚本执行器执行,会导致失败。运行C:\Windows\SysWOW64\cmd.exe,再到其中运行vbs就能正常调用模块了。 + +2)进程内注册方法:调用模块的DllInstall导出函数,第一个参数传入32位整型数1,第二个参数传入32/64位整型数2(32位模块中是32位整型数,64位模块中是64位整型数)。返回值大于等于0时注册成功。vbs不支持直接调用dll的导出函数,这里就不给例子了。 + +2.创建对象: +模块中的函数使用前,先创建对象,再使用对象调用函数。 +创建本模块的对象的vbs例子如下: +Set wyhkm=CreateObject("wyp.hkm") + +调用函数的完整例子(不包含注册): +Set wyhkm=CreateObject("wyp.hkm") +ver = wyhkm.GetVersion() +MsgBox "模块版本:" & Hex(ver), 4096 diff --git a/ddl/无涯键鼠盒子模块V5.71说明.chm b/ddl/无涯键鼠盒子模块V5.71说明.chm new file mode 100644 index 0000000000000000000000000000000000000000..b77ee8e3d6ee4a993f54a326b7be5fe036820df1 GIT binary patch literal 261805 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%0DI;xs;tGdzN&yKeh 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

&Q@0=jZ8?xuSLwY+|pPLwC8FnCD;uy9YF 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%0A#&YkLC*@XSVUf&tahwoJa*W49eIS@&3YS)9 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 z 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ÚX2FK-2 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

TqMtO1P1oNDd+u)$ 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 Z`yyeZTab||1x6MX%<(HiqWqi;CjeCxbKC#` literal 0 HcmV?d00001 diff --git a/death_manager.py b/death_manager.py index 0b45132..aee1c1d 100644 --- a/death_manager.py +++ b/death_manager.py @@ -1,6 +1,6 @@ import time import math -import pydirectinput +from hardware_control import hw_ctrl class DeathManager: @@ -46,7 +46,7 @@ class DeathManager: self.corpse_pos = (state['x'], state['y']) self.is_running_to_corpse = True print(f">>> [系统] 记录死亡坐标: {self.corpse_pos},准备释放灵魂...") - pydirectinput.press(self.release_spirit_key) + hw_ctrl.press(self.release_spirit_key) time.sleep(5) # 等待加载界面 def run_to_corpse(self, state, get_state=None): @@ -74,9 +74,8 @@ class DeathManager: # 如果距离尸体很近(0.005 约等于 10-20 码) if is_arrived: print(">>> 已到达尸体附近,尝试复活...") - pydirectinput.press(self.resurrect_key) + hw_ctrl.press(self.resurrect_key) time.sleep(5) self.is_running_to_corpse = False self.corpse_pos = None return - diff --git a/game_state_config.json b/game_state_config.json index aa1f31a..1c79e76 100644 --- a/game_state_config.json +++ b/game_state_config.json @@ -7,8 +7,8 @@ "offset_top": 45, "enable_mount": false, "mount_key": "x", - "mount_hold_sec": 2.0, - "mount_retry_after_sec": 2.5, - "hearthstone_key": "6", - "bag_full_hearthstone": true + "mount_hold_sec": 1.6, + "mount_retry_after_sec": 2.0, + "hearthstone_key": "b", + "bag_full_hearthstone": false } \ No newline at end of file diff --git a/hardware_control.py b/hardware_control.py new file mode 100644 index 0000000..a352e6e --- /dev/null +++ b/hardware_control.py @@ -0,0 +1,152 @@ +import os +import sys +import ctypes +from ctypes import * +import time +import win32com.client +import pythoncom + +class HardwareController: + """ + 接入 wyhkm.dll 硬件盒子的 COM 接口封装类。 + 经过实测验证:Index 0 配合 SetMode(2, 1) 可同时支持键盘与鼠标。 + """ + _instance = None + _wyhkm = None + + def __new__(cls, *args, **kwargs): + if not cls._instance: + cls._instance = super(HardwareController, cls).__new__(cls) + return cls._instance + + def __init__(self, dll_path="ddl/wyhkm.dll"): + if self._wyhkm: + return + + self.dll_path = os.path.abspath(dll_path) + if not os.path.exists(self.dll_path): + print(f">>> [硬件控制] 错误:找不到 DLL 文件 {self.dll_path}") + return + + try: + # 1. 进程内注册 (标准 64 位注册方式) + hkmdll = windll.LoadLibrary(self.dll_path) + hkmdll.DllInstall.argtypes = (c_long, c_longlong) + + if hkmdll.DllInstall(1, 2) < 0: + print(">>> [硬件控制] 注册失败!") + return + else: + print(">>> [硬件控制] 进程内注册 wyhkm.dll 成功") + + # 2. 创建对象 + pythoncom.CoInitialize() + try: + self._wyhkm = win32com.client.Dispatch("wyp.hkm") + except Exception as e: + print(f">>> [硬件控制] 创建对象失败: {e}") + return + + # 3. 查找并打开设备 (Index 0 已验证支持键盘鼠标) + dev_id = self._wyhkm.SearchDevice(0x2612, 0x1701, 0) + if dev_id == -1: + print(">>> [硬件控制] 未找到无涯键鼠盒子 (Index 0)") + return + + if not self._wyhkm.Open(dev_id, 0): + print(">>> [硬件控制] 打开设备失败") + return + + # 4. 关键初始化设置 (实测鼠标移动必须开启模式 2, 1) + # 开启键盘增强模拟 + self._wyhkm.SetMode(1, 1) + # 开启鼠标仿真移动 (解决鼠标不动的问题) + self._wyhkm.SetMode(2, 1) + + # 设置推荐的按键/鼠标间隔 (与 test_hw.py 一致,30-50ms 更稳定) + self._wyhkm.SetKeyInterval(30, 50) + self._wyhkm.SetMouseInterval(30, 50) + + print(f">>> [硬件控制] 成功打开设备并完成初始化配置") + + except Exception as e: + print(f">>> [硬件控制] 初始化异常: {e}") + self._wyhkm = None + + def is_available(self): + if not self._wyhkm: + return False + try: + # 修正:IsOpen 需要参数 (0:全模式, 1:键盘, 2:鼠标) + # 之前漏传参数会导致 COM 报错,进而导致 key_down 等所有操作被 skip + return self._wyhkm.IsOpen(0) + except: + return False + + def delay_rnd(self, min_ms, max_ms): + """随机延时""" + if self.is_available(): + try: self._wyhkm.DelayRnd(int(min_ms), int(max_ms)) + except: pass + + # --- 键盘操作 (均使用大写字符串) --- + + def key_down(self, key_str): + if self.is_available(): + try: self._wyhkm.KeyDown(str(key_str).upper()) + except: pass + + def key_up(self, key_str): + if self.is_available(): + try: self._wyhkm.KeyUp(str(key_str).upper()) + except: pass + + def key_press(self, key_str): + if self.is_available(): + try: self._wyhkm.KeyPress(str(key_str).upper()) + except: pass + + # 兼容性别名 + def keyDown(self, key_str): self.key_down(key_str) + def keyUp(self, key_str): self.key_up(key_str) + def press(self, key_str): self.key_press(key_str) + + # --- 鼠标操作 --- + + def move_to(self, x, y): + """绝对移动""" + if self.is_available(): + try: self._wyhkm.MoveTo(int(x), int(y)) + except: pass + + def move_r(self, dx, dy): + """相对移动""" + if self.is_available(): + try: self._wyhkm.MoveR(int(dx), int(dy)) + except: pass + + def MoveR(self, dx, dy): # 兼容写法 + self.move_r(dx, dy) + + def left_click(self): + if self.is_available(): + try: self._wyhkm.LeftClick() + except: pass + + def right_click(self): + if self.is_available(): + try: self._wyhkm.RightClick() + except: pass + + def left_down(self): + if self.is_available(): + try: self._wyhkm.LeftDown() + except: pass + + def left_up(self): + if self.is_available(): + try: self._wyhkm.LeftUp() + except: pass + +# 全局实例 +hw_ctrl = HardwareController() diff --git a/logistics_manager.py b/logistics_manager.py index 0c6ae1e..1ee6052 100644 --- a/logistics_manager.py +++ b/logistics_manager.py @@ -1,7 +1,7 @@ import json import math import time -import pydirectinput +from hardware_control import hw_ctrl # 修理商所在位置(游戏坐标),按实际位置修改 VENDOR_POS = (30.08, 71.51) @@ -34,21 +34,61 @@ class LogisticsManager: else: self.is_returning = False - def use_hearthstone_and_stop(self): - """按炉石按键并等待施法完成,返回 True 表示已执行(调用方应随后结束循环)。""" - print(f">>> [后勤] 包满,使用炉石({self.hearthstone_key})回城,等待 {self.hearthstone_cast_sec:.0f}s...") - pydirectinput.press(self.hearthstone_key) - time.sleep(self.hearthstone_cast_sec) - print(">>> [后勤] 炉石施法完成,停止所有动作。") + def use_hearthstone_and_stop(self, get_state=None): + """按炉石按键并等待施法完成,带有坐标校验的重试机制。""" + max_retries = 3 + success = False + + for i in range(max_retries): + start_pos = None + if get_state: + st = get_state() + if st: + start_pos = (st.get('x'), st.get('y')) + + print(f">>> [后勤] 第 {i+1} 次尝试使用炉石(按键: {self.hearthstone_key})...") + # 先按一下 S 确保停止移动,防止移动中按炉石失败 + hw_ctrl.press('s') + time.sleep(0.5) + hw_ctrl.press(self.hearthstone_key) + + # 等待施法过程 + print(f">>> [后勤] 正在等待施法 {self.hearthstone_cast_sec}s...") + time.sleep(self.hearthstone_cast_sec + 2.0) # 多等 2 秒保险 + + if get_state and start_pos and start_pos[0] is not None: + st_now = get_state() + if st_now: + end_pos = (st_now.get('x'), st_now.get('y')) + dist = math.dist(start_pos, end_pos) + # 如果坐标发生了明显跳变(大于 2.0),证明回城成功 + if dist > 2.0: + print(f">>> [后勤] 炉石回城成功!位置跳变距离: {dist:.2f}") + success = True + break + else: + print(f">>> [后勤] 炉石似乎失败(位置未变化),准备重试...") + else: + # 获取不到状态可能已经卡死或窗口关闭,默认成功以退出循环 + success = True + break + else: + # 如果没法校验坐标,就只执行一次 + success = True + break + + if not success: + print(">>> [后勤] 警告:多次尝试炉石回城均未检测到位置跳变!") + self.is_returning = False - return True + return success def return_home(self): """执行回城动作""" # 1. 停止当前巡逻 # 2. 寻找安全点或直接使用炉石 print(">>> 正在释放炉石...") - pydirectinput.press('7') # 假设炉石在 7 号键 + hw_ctrl.press('7') # 假设炉石在 7 号键 time.sleep(15) # 等待炉石施法 def handle_town_visit(self, state, patrol): @@ -64,9 +104,9 @@ class LogisticsManager: def _do_vendor_interact(self): """执行与修理商/背包的交互按键(8、4)。""" - pydirectinput.press("8") + hw_ctrl.press("8") time.sleep(0.5) - pydirectinput.press("4") + hw_ctrl.press("4") time.sleep(2) def run_route1_round(self, get_state, patrol, route_file=None): @@ -94,4 +134,4 @@ class LogisticsManager: if not ok: print(">>> [后勤] 反向未完成") return - print(">>> [后勤] route1 往返结束") \ No newline at end of file + print(">>> [后勤] route1 往返结束") diff --git a/loot_path.json b/loot_path.json new file mode 100644 index 0000000..5447740 --- /dev/null +++ b/loot_path.json @@ -0,0 +1 @@ +[[-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-1, -86], [-238, -79], [-263, -75], [-269, -74], [-302, -74], [-307, -72], [-324, -48], [-325, -21], [-318, 10], [-302, 40], [-251, 86], [-197, 121], [-124, 151], [-43, 173], [7, 186], [54, 200], [92, 203], [115, 201], [171, 179], [224, 144], [259, 108], [273, 75], [276, 41], [252, 7], [221, -23], [162, -55], [110, -71], [46, -86], [-1, -92], [-47, -92], [-90, -85], [-118, -79], [-135, -74], [-160, -64], [-184, -45], [-219, -9], [-236, 35], [-236, 80], [-193, 120], [-132, 156], [-61, 175], [25, 190], [124, 185], [174, 170], [209, 145], [245, 85], [253, 31], [226, -5], [184, -33], [149, -51], [110, -66], [90, -67], [70, -68], [40, -69], [24, -69], [3, -66], [-3, -65], [-10, -64], [-10, -64], [-10, -64], [-10, -64], [-10, -64], [-10, -64], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63], [-10, -63]] \ No newline at end of file diff --git a/mouse_path_recorder.py b/mouse_path_recorder.py new file mode 100644 index 0000000..dd44d12 --- /dev/null +++ b/mouse_path_recorder.py @@ -0,0 +1,85 @@ +import time +import json +import math +import ctypes +import win32gui +import win32api +import pynput +from pynput import keyboard + +# 开启 DPI 意识,解决 Windows 缩放导致的坐标偏差 +try: + ctypes.windll.shcore.SetProcessDpiAwareness(1) +except Exception: + ctypes.windll.user32.SetProcessDPIAware() + +# 配置 +WIN_TITLE = "魔兽世界" +SAVE_FILE = "loot_path.json" + +class PathRecorder: + def __init__(self): + self.is_recording = False + self.points = [] + self.center_x = 0 + self.center_y = 0 + + def get_window_center(self): + hwnd = win32gui.FindWindow(None, WIN_TITLE) + if not hwnd: + print(f"未找到窗口: {WIN_TITLE}") + return None, None + rect = win32gui.GetWindowRect(hwnd) + left, top, right, bottom = rect + cx = left + (right - left) // 2 + cy = top + (bottom - top) // 2 + return cx, cy + + def on_press(self, key): + try: + if key == keyboard.Key.f8: + if not self.is_recording: + cx, cy = self.get_window_center() + if cx is None: return + self.center_x, self.center_y = cx, cy + self.points = [] + self.is_recording = True + print("\n>>> 开始录制... 请在角色前方划出你想要的扫瞄轨迹。") + else: + self.is_recording = False + self.save_path() + print(f">>> 录制结束。已保存 {len(self.points)} 个点到 {SAVE_FILE}") + except Exception as e: + print(f"出错: {e}") + + def save_path(self): + # 稀疏处理:每隔几个点取一个,防止点位过密影响性能 + step = 3 + processed_points = self.points[::step] + with open(SAVE_FILE, 'w') as f: + json.dump(processed_points, f) + + def run(self): + print(f"--- 鼠标轨迹录制工具 ---") + print(f"1. 运行游戏并确保处于窗口/全屏窗口化模式。") + print(f"2. 按下 [F8] 开始录制。") + print(f"3. 均匀、平滑地移动鼠标,划出你想要的拾取扫瞄范围。") + print(f"4. 再次按 [F8] 保存并退出。") + + listener = keyboard.Listener(on_press=self.on_press) + listener.start() + + try: + while True: + if self.is_recording: + x, y = win32api.GetCursorPos() + # 记录相对于中心的偏移量 + dx = x - self.center_x + dy = y - self.center_y + self.points.append((dx, dy)) + time.sleep(0.02) + except KeyboardInterrupt: + pass + +if __name__ == "__main__": + PathRecorder().run() diff --git a/player_movement.py b/player_movement.py index 4990e2c..cd9b14d 100644 --- a/player_movement.py +++ b/player_movement.py @@ -1,7 +1,8 @@ import math import time import logging -import pydirectinput +import random +from hardware_control import hw_ctrl from player_position import PlayerPosition # 游戏朝向约定:正北=0°,正西=90°,正南=180°,正东=270°(逆时针递增) @@ -81,9 +82,9 @@ class PlayerMovement: f"[转向 {attempt + 1}] 当前 {current_heading:.1f}° → 目标 {target_heading:.1f}°," f"按 '{key}' {turn_duration:.2f}s(需转 {angle_to_turn:.1f}°)" ) - pydirectinput.keyDown(key) + hw_ctrl.keyDown(key) time.sleep(turn_duration) - pydirectinput.keyUp(key) + hw_ctrl.keyUp(key) time.sleep(0.15) # 等待游戏刷新朝向 self.logger.warning(f"转向失败:超过最大尝试次数 {max_attempts}") @@ -96,36 +97,35 @@ class PlayerMovement: duration: 移动时间(秒) """ self.logger.info(f"向前移动 {duration:.2f}s") - pydirectinput.keyDown('w') + hw_ctrl.keyDown('w') time.sleep(duration) - pydirectinput.keyUp('w') + hw_ctrl.keyUp('w') def _escape_stuck(self): """卡死脱困组合拳:后退 + 随机转向 + 跳跃。 当连续多次检测到坐标无明显位移时调用,尝试脱离障碍物。 """ - import random self.logger.warning("检测到角色卡死,执行脱困动作") # 1. 松开前进键,后退 0.8s - pydirectinput.keyUp('w') - pydirectinput.keyDown('s') + hw_ctrl.keyUp('w') + hw_ctrl.keyDown('s') time.sleep(0.8) - pydirectinput.keyUp('s') + hw_ctrl.keyUp('s') # 2. 随机左转或右转 0.3~0.5s turn_key = random.choice(['a', 'd']) turn_dur = random.uniform(0.3, 0.5) - pydirectinput.keyDown(turn_key) + hw_ctrl.keyDown(turn_key) time.sleep(turn_dur) - pydirectinput.keyUp(turn_key) + hw_ctrl.keyUp(turn_key) # 3. 跳跃(按空格)同时向前冲 0.5s - pydirectinput.keyDown('w') - pydirectinput.press('space') + hw_ctrl.keyDown('w') + hw_ctrl.press('space') time.sleep(0.5) - pydirectinput.keyUp('w') + hw_ctrl.keyUp('w') self.logger.info("脱困动作完成,重新开始前进") @@ -172,7 +172,7 @@ class PlayerMovement: return False # 按住 w 开始持续前进 - pydirectinput.keyDown('w') + hw_ctrl.keyDown('w') # 卡死检测:记录最近 STUCK_CHECK_COUNT 次坐标,用于判断是否停滞 recent_positions = [] try: @@ -204,7 +204,7 @@ class PlayerMovement: if moved < self.STUCK_MOVE_THRESHOLD: self._escape_stuck() recent_positions.clear() - pydirectinput.keyDown('w') + hw_ctrl.keyDown('w') # x 和 y 都在容差范围内即视为到达 if abs(dx) <= position_tolerance and abs(dy) <= position_tolerance: @@ -213,7 +213,7 @@ class PlayerMovement: # 接近目标时松开 w 停下,再做一次静止判定,避免冲过头后死循环 if distance <= position_tolerance * 2: - pydirectinput.keyUp('w') + hw_ctrl.keyUp('w') time.sleep(0.2) final_pos = self.player_position.get_position_with_retry() if final_pos is not None: @@ -223,7 +223,7 @@ class PlayerMovement: self.logger.info(f"已到达目标位置 ({target_x}, {target_y})") return True # 静止后仍未到达,重新按住 w 继续前进 - pydirectinput.keyDown('w') + hw_ctrl.keyDown('w') # 每隔 HEADING_CHECK_INTERVAL 次读一次朝向,减少 OCR 频率 if iteration % self.HEADING_CHECK_INTERVAL != 0: @@ -239,12 +239,12 @@ class PlayerMovement: if abs_diff > self.COARSE_TURN_THRESHOLD: # 偏差过大:停步原地粗修正,再重新按住 w - pydirectinput.keyUp('w') + hw_ctrl.keyUp('w') self.logger.info(f"偏差 {abs_diff:.1f}° 过大,停步原地修正") if not self.turn_to_heading(required_heading): self.logger.warning("修正转向失败,移动中止") return False - pydirectinput.keyDown('w') + hw_ctrl.keyDown('w') elif abs_diff > self.ANGLE_TOLERANCE: # 小幅偏差:边走边转,同时按住 w 和转向键 @@ -254,15 +254,15 @@ class PlayerMovement: self.logger.info( f"边走边转:按 '{turn_key}' {turn_time:.2f}s(偏差 {abs_diff:.1f}°)" ) - pydirectinput.keyDown(turn_key) + hw_ctrl.keyDown(turn_key) time.sleep(turn_time) - pydirectinput.keyUp(turn_key) + hw_ctrl.keyUp(turn_key) else: # 方向已对齐,让角色多走一段再重新检测,减少 OCR 频率 time.sleep(1) finally: - pydirectinput.keyUp('w') + hw_ctrl.keyUp('w') self.logger.warning(f"移动失败:超过最大迭代次数 {max_iterations}") return False diff --git a/quest_follow.py b/quest_follow.py index db769ed..1895f99 100644 --- a/quest_follow.py +++ b/quest_follow.py @@ -1,10 +1,9 @@ """ -任务跟随:按固定间隔向游戏发送「跟随」与「交互」按键(pydirectinput,与 auto_bot 一致)。 +任务跟随:按固定间隔向游戏发送「跟随」与「交互」按键(使用 hw_ctrl 硬件盒子)。 """ import time - -import pydirectinput +from hardware_control import hw_ctrl class QuestFollowBot: @@ -30,9 +29,9 @@ class QuestFollowBot: return self._last_cycle = now try: - pydirectinput.press(self.follow_key) + hw_ctrl.press(self.follow_key) time.sleep(0.08) - pydirectinput.press(self.interact_key) + hw_ctrl.press(self.interact_key) self._log(f"➡️ 任务跟随: {self.follow_key} → {self.interact_key}") except Exception as e: self._log(f"❌ 任务跟随按键失败: {e}") diff --git a/recorder/waypoints.json b/recorder/waypoints.json index 5add738..58481dc 100644 --- a/recorder/waypoints.json +++ b/recorder/waypoints.json @@ -1,70 +1,22 @@ [ [ - 85.35, - 74.90 + 30.97, + 73.59 ], [ - 85.32, - 74.86 + 30.45, + 73.49 ], [ - 85.02, - 74.38 + 30.05, + 73.83 ], [ - 84.8, - 73.92 + 30.55, + 73.98 ], [ - 84.6, - 73.46 - ], - [ - 84.39, - 73.0 - ], - [ - 84.17, - 72.55 - ], - [ - 83.88, - 72.05 - ], - [ - 83.42, - 71.84 - ], - [ - 83.3, - 72.34 - ], - [ - 83.34, - 72.9 - ], - [ - 83.37, - 73.46 - ], - [ - 83.62, - 73.94 - ], - [ - 83.97, - 74.32 - ], - [ - 84.41, - 74.67 - ], - [ - 84.94, - 74.86 - ], - [ - 85.35, - 74.90 + 30.87, + 73.57 ] ] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 70a3856..5e93e3f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,6 @@ opencv-python==4.9.0.80 numpy==1.26.4 pyautogui==0.9.54 Pillow==10.2.0 -pydirectinput==1.0.4 pygetwindow==0.0.9 pyinstaller>=6.0.0 PyQt6>=6.4.0 diff --git a/stuck_handler.py b/stuck_handler.py index f231e77..ab74342 100644 --- a/stuck_handler.py +++ b/stuck_handler.py @@ -1,7 +1,7 @@ import math import time import random -import pydirectinput +from hardware_control import hw_ctrl class StuckHandler: # 针对 0.xxxx 坐标系优化 @@ -61,27 +61,27 @@ class StuckHandler: # 1. 全停 for k in ("w", "a", "d", "s"): - pydirectinput.keyUp(k) + hw_ctrl.keyUp(k) # 2. 倒车并转向(组合动作更有效) - pydirectinput.keyDown("s") + hw_ctrl.keyDown("s") turn_key = random.choice(["a", "d"]) - pydirectinput.keyDown(turn_key) + hw_ctrl.keyDown(turn_key) # 倒车时间稍长一点,离开障碍物 time.sleep(0.5) # 3. 尝试跳跃脱离地形卡位 - pydirectinput.press("space") + hw_ctrl.press("space") time.sleep(0.5) - pydirectinput.keyUp(turn_key) - pydirectinput.keyUp("s") + hw_ctrl.keyUp(turn_key) + hw_ctrl.keyUp("s") # 4. 往前稍微走一步,重新锁定坐标 - pydirectinput.keyDown("w") + hw_ctrl.keyDown("w") time.sleep(0.5) - pydirectinput.keyUp("w") + hw_ctrl.keyUp("w") self.reset() print(">>> 脱困尝试结束") diff --git a/test_hw.py b/test_hw.py new file mode 100644 index 0000000..aa8c164 --- /dev/null +++ b/test_hw.py @@ -0,0 +1,62 @@ +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所有常用按键测试完成!") diff --git a/wow_multikey_gui.py b/wow_multikey_gui.py index fdce1e9..f362987 100644 --- a/wow_multikey_gui.py +++ b/wow_multikey_gui.py @@ -9,9 +9,10 @@ import os import random import sys import time +import ctypes from PyQt6.QtWidgets import ( - QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, + QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QGridLayout, QLabel, QPushButton, QCheckBox, QSpinBox, QDoubleSpinBox, QScrollArea, QTextEdit, QMessageBox, QTabWidget, QGroupBox, QFormLayout, QLineEdit, QComboBox, QTableWidget, QTableWidgetItem, QHeaderView, QAbstractItemView, @@ -21,6 +22,7 @@ from PyQt6.QtGui import QPainter, QPen, QColor import win32gui import win32api import win32con +from pynput import keyboard def _config_base(): @@ -320,6 +322,7 @@ class GameLoopWorker(QThread): resurrection_waypoints_path=None, release_spirit_key=None, resurrect_key=None, + enable_mouse_loot=True, ): super().__init__() self.mode = mode # 'monitor' | 'patrol' | 'combat' | 'quest_follow' | 'flight' | 'record' @@ -358,6 +361,7 @@ class GameLoopWorker(QThread): self.resurrection_waypoints_path = resurrection_waypoints_path self.release_spirit_key = release_spirit_key self.resurrect_key = resurrect_key + self.enable_mouse_loot = enable_mouse_loot def run(self): try: @@ -381,6 +385,7 @@ class GameLoopWorker(QThread): resurrection_waypoints_path=self.resurrection_waypoints_path, release_spirit_key=self.release_spirit_key, resurrect_key=self.resurrect_key, + enable_mouse_loot=self.enable_mouse_loot, ) self.bot_move._on_hearthstone_stop = self.stop_signal.emit except ImportError as e: @@ -393,6 +398,7 @@ class GameLoopWorker(QThread): self.bot_combat = AutoBot( attack_loop_path=self.attack_loop_path, skinning_wait_sec=self.skinning_wait_sec, + enable_mouse_loot=self.enable_mouse_loot, ) except ImportError as e: self.log_signal.emit(f"❌ 自动打怪依赖加载失败: {e}") @@ -513,6 +519,54 @@ class GameLoopWorker(QThread): return None +class LootPathRecorderWorker(QThread): + """拾取轨迹录制工作线程""" + finished_signal = pyqtSignal(int) + log_signal = pyqtSignal(str) + + def __init__(self, hwnd): + super().__init__() + self.hwnd = hwnd + self.running = False + self.points = [] + + def run(self): + if not self.hwnd: + self.log_signal.emit("❌ 未找到游戏窗口,无法录制轨迹") + return + + try: + rect = win32gui.GetWindowRect(self.hwnd) + cx = rect[0] + (rect[2] - rect[0]) // 2 + cy = rect[1] + (rect[3] - rect[1]) // 2 + + self.points = [] + self.running = True + self.log_signal.emit("🔴 拾取轨迹录制中... 请在角色前方平滑移动鼠标") + + while self.running: + x, y = win32api.GetCursorPos() + self.points.append((x - cx, y - cy)) + time.sleep(0.02) + + # 稀疏处理并保存 + processed = self.points[::3] + if not processed: + self.log_signal.emit("⚠️ 未记录到有效轨迹点") + return + + path = get_config_path("loot_path.json") + with open(path, 'w') as f: + json.dump(processed, f) + self.finished_signal.emit(len(processed)) + self.log_signal.emit(f"✅ 拾取轨迹已保存: {len(processed)} 点") + except Exception as e: + self.log_signal.emit(f"❌ 轨迹录制失败: {e}") + + def stop(self): + self.running = False + + # ============ 主窗口 ============ class WoWMultiKeyGUI(QMainWindow): @@ -522,12 +576,31 @@ class WoWMultiKeyGUI(QMainWindow): self.config = self.load_config() self.key_workers = {} self.game_worker = None + self.loot_recorder_worker = None self.pending_recorder = None # 停止录制后保留,便于保存 self.hwnd = None self.init_ui() self.find_wow_window() + # 初始化全局热键监听 (F8 用于拾取录制) + self.kb_listener = keyboard.Listener(on_press=self._on_hotkey_press) + self.kb_listener.start() + + def _on_hotkey_press(self, key): + """全局热键回调""" + try: + if key == keyboard.Key.f8: + # 必须在主线程 UI 操作,但 pynput 在独立线程,这里简单判断状态 + if self.loot_recorder_worker and self.loot_recorder_worker.isRunning(): + # 停止录制 + self.stop_loot_record() + else: + # 开始录制 + self.start_loot_record() + except Exception: + pass + def init_ui(self): self.setWindowTitle("WoW 多功能控制器") self.setGeometry(100, 100, 780, 620) @@ -870,15 +943,41 @@ class WoWMultiKeyGUI(QMainWindow): loops_layout.addWidget(loop_editor) tabs.addTab(tab_combat_loops, "攻击循环") + # Tab: 拾取录制 (新增加) + tab_loot_record = QWidget() + loot_record_layout = QVBoxLayout(tab_loot_record) + loot_record_group = QGroupBox("自定义拾取轨迹") + loot_record_inner = QVBoxLayout(loot_record_group) + loot_record_inner.addWidget(QLabel("说明:\n1. 点击下方按钮开始录制。\n2. 在游戏角色前方划出你想要的扫瞄路径。\n3. 再次点击停止录制,轨迹将自动保存。\n4. 挂机脚本将优先使用录制的路径进行拾取。")) + + loot_record_btn_layout = QHBoxLayout() + self.loot_record_start_btn = QPushButton("🔴 开始录制拾取轨迹") + self.loot_record_start_btn.clicked.connect(self.start_loot_record) + self.loot_record_stop_btn = QPushButton("⏹ 停止录制") + self.loot_record_stop_btn.clicked.connect(self.stop_loot_record) + self.loot_record_stop_btn.setEnabled(False) + loot_record_btn_layout.addWidget(self.loot_record_start_btn) + loot_record_btn_layout.addWidget(self.loot_record_stop_btn) + loot_record_btn_layout.addStretch() + loot_record_inner.addLayout(loot_record_btn_layout) + loot_record_layout.addWidget(loot_record_group) + loot_record_layout.addStretch() + tabs.addTab(tab_loot_record, "拾取录制") + # Tab: 参数配置(上下两个分组) tab_params = QWidget() params_layout = QVBoxLayout(tab_params) # 基础参数(截图/窗口配置) basic_group = QGroupBox("基础参数") - basic_layout = QHBoxLayout(basic_group) - basic_left = QFormLayout() - basic_right = QFormLayout() + basic_grid = QGridLayout(basic_group) + # 统一对齐配置 + LABEL_WIDTH = 100 + basic_grid.setColumnMinimumWidth(0, LABEL_WIDTH) + basic_grid.setColumnMinimumWidth(2, LABEL_WIDTH) + basic_grid.setColumnStretch(1, 1) + basic_grid.setColumnStretch(3, 1) + self.gs_pixel_size = QSpinBox() self.gs_pixel_size.setRange(8, 32) self.gs_pixel_size.setValue(17) @@ -897,21 +996,33 @@ class WoWMultiKeyGUI(QMainWindow): self.gs_offset_top = QSpinBox() self.gs_offset_top.setRange(0, 100) self.gs_offset_top.setValue(45) - basic_left.addRow("每格像素 (pixel_size):", self.gs_pixel_size) - basic_left.addRow("起始 X (block_start_x):", self.gs_block_start_x) - basic_left.addRow("截图宽度 (scan_region_width):", self.gs_scan_width) - basic_right.addRow("截图高度 (scan_region_height):", self.gs_scan_height) - basic_right.addRow("窗口左偏移 (offset_left):", self.gs_offset_left) - basic_right.addRow("窗口顶偏移 (offset_top):", self.gs_offset_top) - basic_layout.addLayout(basic_left) - basic_layout.addLayout(basic_right) + + # 第一列 + basic_grid.addWidget(QLabel("每格像素:"), 0, 0) + basic_grid.addWidget(self.gs_pixel_size, 0, 1) + basic_grid.addWidget(QLabel("起始 X:"), 1, 0) + basic_grid.addWidget(self.gs_block_start_x, 1, 1) + basic_grid.addWidget(QLabel("截图宽度:"), 2, 0) + basic_grid.addWidget(self.gs_scan_width, 2, 1) + # 第二列 + basic_grid.addWidget(QLabel("截图高度:"), 0, 2) + basic_grid.addWidget(self.gs_scan_height, 0, 3) + basic_grid.addWidget(QLabel("窗口左偏移:"), 1, 2) + basic_grid.addWidget(self.gs_offset_left, 1, 3) + basic_grid.addWidget(QLabel("窗口顶偏移:"), 2, 2) + basic_grid.addWidget(self.gs_offset_top, 2, 3) + params_layout.addWidget(basic_group) # 游戏参数 game_group = QGroupBox("游戏参数") - game_layout = QHBoxLayout(game_group) - game_left = QFormLayout() - game_right = QFormLayout() + game_grid = QGridLayout(game_group) + # 统一对齐配置 + game_grid.setColumnMinimumWidth(0, LABEL_WIDTH) + game_grid.setColumnMinimumWidth(2, LABEL_WIDTH) + game_grid.setColumnStretch(1, 1) + game_grid.setColumnStretch(3, 1) + self.skinning_wait_spin = QDoubleSpinBox() self.skinning_wait_spin.setRange(0.1, 10.0) self.skinning_wait_spin.setSingleStep(0.1) @@ -960,20 +1071,39 @@ class WoWMultiKeyGUI(QMainWindow): self.gs_resurrect_key.setPlaceholderText("如 0") self.gs_resurrect_key.setMaxLength(16) self.gs_resurrect_key.setText("0") - game_left.addRow("剥皮等待时间:", self.skinning_wait_spin) - game_left.addRow("吃面包按键:", self.food_key_edit) - game_left.addRow("吃面包血量阈值:", self.eat_hp_threshold_spin) - game_left.addRow("吃面包最长等待:", self.eat_max_wait_spin) - game_left.addRow("炉石按键:", self.gs_hearthstone_key) - game_left.addRow("", self.gs_bag_full_hearthstone) - game_right.addRow("是否上马:", self.gs_enable_mount) - game_right.addRow("上马按键:", self.gs_mount_key) - game_right.addRow("上马按住时长:", self.gs_mount_hold) - game_right.addRow("上马重试间隔:", self.gs_mount_retry) - game_right.addRow("释放灵魂按键:", self.gs_release_spirit_key) - game_right.addRow("复活按键:", self.gs_resurrect_key) - game_layout.addLayout(game_left) - game_layout.addLayout(game_right) + self.gs_enable_mouse_loot = QCheckBox("启用扫雷拾取") + self.gs_enable_mouse_loot.setChecked(True) + + # 网格填充 + game_grid.addWidget(QLabel("剥皮等待时间:"), 0, 0) + game_grid.addWidget(self.skinning_wait_spin, 0, 1) + game_grid.addWidget(self.gs_enable_mouse_loot, 0, 2) + game_grid.addWidget(self.gs_enable_mount, 0, 3) + + game_grid.addWidget(QLabel("吃面包按键:"), 1, 0) + game_grid.addWidget(self.food_key_edit, 1, 1) + game_grid.addWidget(QLabel("上马按键:"), 1, 2) + game_grid.addWidget(self.gs_mount_key, 1, 3) + + game_grid.addWidget(QLabel("吃面包血量阈值:"), 2, 0) + game_grid.addWidget(self.eat_hp_threshold_spin, 2, 1) + game_grid.addWidget(QLabel("上马按住时长:"), 2, 2) + game_grid.addWidget(self.gs_mount_hold, 2, 3) + + game_grid.addWidget(QLabel("吃面包最长等待:"), 3, 0) + game_grid.addWidget(self.eat_max_wait_spin, 3, 1) + game_grid.addWidget(QLabel("上马重试间隔:"), 3, 2) + game_grid.addWidget(self.gs_mount_retry, 3, 3) + + game_grid.addWidget(QLabel("炉石按键:"), 4, 0) + game_grid.addWidget(self.gs_hearthstone_key, 4, 1) + game_grid.addWidget(QLabel("释放灵魂按键:"), 4, 2) + game_grid.addWidget(self.gs_release_spirit_key, 4, 3) + + game_grid.addWidget(self.gs_bag_full_hearthstone, 5, 1) + game_grid.addWidget(QLabel("复活按键:"), 5, 2) + game_grid.addWidget(self.gs_resurrect_key, 5, 3) + params_layout.addWidget(game_group) params_layout.addStretch() @@ -1025,11 +1155,13 @@ class WoWMultiKeyGUI(QMainWindow): self.food_key_edit.setText(str(bot_cfg.get('food_key', 'f1')).strip() or 'f1') self.eat_hp_threshold_spin.setValue(int(bot_cfg.get('eat_hp_threshold', 30))) self.eat_max_wait_spin.setValue(float(bot_cfg.get('eat_max_wait_sec', 30.0))) + self.gs_enable_mouse_loot.setChecked(bool(bot_cfg.get('enable_mouse_loot', True))) except Exception: self.skinning_wait_spin.setValue(1.5) self.food_key_edit.setText('f1') self.eat_hp_threshold_spin.setValue(30) self.eat_max_wait_spin.setValue(30.0) + self.gs_enable_mouse_loot.setChecked(True) def _save_params_config(self): """保存「参数配置」界面到 game_state_config.json(多分辨率)并写入 wow_multikey_qt.json(bot 参数)""" @@ -1058,6 +1190,7 @@ class WoWMultiKeyGUI(QMainWindow): self.config['bot']['food_key'] = self.food_key_edit.text().strip() or 'f1' self.config['bot']['eat_hp_threshold'] = int(self.eat_hp_threshold_spin.value()) self.config['bot']['eat_max_wait_sec'] = float(self.eat_max_wait_spin.value()) + self.config['bot']['enable_mouse_loot'] = self.gs_enable_mouse_loot.isChecked() self._save_main_config() self.log(f"✅ 参数配置已保存至 {path},并更新 bot 参数") @@ -1505,6 +1638,8 @@ class WoWMultiKeyGUI(QMainWindow): release_spirit_key = '9' resurrect_key = '0' + enable_mouse_loot = self.gs_enable_mouse_loot.isChecked() + self.game_worker = GameLoopWorker( mode, waypoints_path=waypoints_path, vendor_path=vendor_path, attack_loop_path=attack_loop_path, @@ -1523,6 +1658,7 @@ class WoWMultiKeyGUI(QMainWindow): resurrection_waypoints_path=resurrection_waypoints_path, release_spirit_key=release_spirit_key, resurrect_key=resurrect_key, + enable_mouse_loot=enable_mouse_loot, ) self.game_worker.state_signal.connect(self.state_label.setText) self.game_worker.log_signal.connect(self.log) @@ -1625,6 +1761,36 @@ class WoWMultiKeyGUI(QMainWindow): else: QMessageBox.warning(self, "提示", "请先进行巡逻点录制") + def start_loot_record(self): + """开始录制拾取轨迹。""" + if not self.hwnd: + QMessageBox.warning(self, "提示", "未找到游戏窗口,无法录制轨迹") + return + if self.loot_recorder_worker and self.loot_recorder_worker.isRunning(): + return + + self.loot_recorder_worker = LootPathRecorderWorker(self.hwnd) + self.loot_recorder_worker.log_signal.connect(self.log) + self.loot_recorder_worker.finished_signal.connect(self._on_loot_record_finished) + self.loot_recorder_worker.start() + + self.loot_record_start_btn.setEnabled(False) + self.loot_record_stop_btn.setEnabled(True) + self.status_bar.showMessage("🔴 拾取轨迹录制中...") + + def stop_loot_record(self): + """停止录制拾取轨迹。""" + if self.loot_recorder_worker: + self.loot_recorder_worker.stop() + self.loot_record_start_btn.setEnabled(True) + self.loot_record_stop_btn.setEnabled(False) + self.status_bar.showMessage("✅ 录制已结束") + + def _on_loot_record_finished(self, count): + self.log(f"🎬 拾取录制完成,共记录 {count} 个有效点") + self.loot_record_start_btn.setEnabled(True) + self.loot_record_stop_btn.setEnabled(False) + def closeEvent(self, event): running = bool(self.key_workers) or (self.game_worker and self.game_worker.isRunning()) if running: diff --git a/wow_multikey_qt.json b/wow_multikey_qt.json index ed20bd3..9669e73 100644 --- a/wow_multikey_qt.json +++ b/wow_multikey_qt.json @@ -10,6 +10,7 @@ "skinning_wait_sec": 1.5, "food_key": "f1", "eat_hp_threshold": 30, - "eat_max_wait_sec": 30.0 + "eat_max_wait_sec": 30.0, + "enable_mouse_loot": false } } \ No newline at end of file