Skip to content

驱动接口文档

接口列表

驱动管理接口

函数名参数列表返回值类型功能描述示例
LoadNTDriverchar* lpszDriverName, char* lpszDriverPathBOOL加载NT驱动程序LoadNTDriver("lykeys", "lykeys.sys")
UnloadNTDriverchar* szSvrNameBOOL卸载NT驱动程序UnloadNTDriver("lykeys")
SetHandlevoidBOOL设置驱动句柄SetHandle()
GetDriverHandlevoidHANDLE获取驱动句柄GetDriverHandle()
GetDriverStatusvoidDEVICE_STATUS获取驱动状态GetDriverStatus()
GetLastCheckTimevoidULONGLONG获取上次检查时间GetLastCheckTime()
CheckDeviceStatusvoidvoid检查驱动状态并更新状态信息CheckDeviceStatus()
GetDetailedErrorCodevoidint获取详细错误代码GetDetailedErrorCode()

键盘操作接口

函数名参数列表返回值类型功能描述示例
KeyDownUSHORT VirtualKeyvoid模拟键盘按键按下KeyDown(0x41) // 按下A键
KeyUpUSHORT VirtualKeyvoid模拟键盘按键抬起KeyUp(0x41) // 抬起A键

鼠标操作接口

函数名参数列表返回值类型功能描述示例
MouseMoveRELATIVELONG dx, LONG dyvoid鼠标相对移动MouseMoveRELATIVE(10, 20)
MouseMoveABSOLUTELONG dx, LONG dyvoid鼠标绝对移动MouseMoveABSOLUTE(100, 200)
MouseLeftButtonDownvoidvoid鼠标左键按下MouseLeftButtonDown()
MouseLeftButtonUpvoidvoid鼠标左键抬起MouseLeftButtonUp()
MouseRightButtonDownvoidvoid鼠标右键按下MouseRightButtonDown()
MouseRightButtonUpvoidvoid鼠标右键抬起MouseRightButtonUp()
MouseMiddleButtonDownvoidvoid鼠标中键按下MouseMiddleButtonDown()
MouseMiddleButtonUpvoidvoid鼠标中键抬起MouseMiddleButtonUp()
MouseXButton1Downvoidvoid鼠标X1键按下MouseXButton1Down()
MouseXButton1Upvoidvoid鼠标X1键抬起MouseXButton1Up()
MouseXButton2Downvoidvoid鼠标X2键按下MouseXButton2Down()
MouseXButton2Upvoidvoid鼠标X2键抬起MouseXButton2Up()
MouseWheelUpUSHORT wheelDeltavoid鼠标滚轮向上MouseWheelUp(120)
MouseWheelDownUSHORT wheelDeltavoid鼠标滚轮向下MouseWheelDown(120)

使用说明

初始化驱动

c
// 加载驱动
LoadNTDriver("lykeys", "lykeys.sys");

// 设置句柄
SetHandle();

// 检查状态
DEVICE_STATUS status = GetDriverStatus();
if (status == DEVICE_STATUS_READY) {
    // 驱动就绪
} else {
    // 获取详细错误信息
    int errorCode = GetDetailedErrorCode();
    printf("驱动错误,错误代码:%d\n", errorCode);
}

键盘操作

c
// 按下A键
KeyDown(0x41);

// 等待一段时间
Sleep(100);

// 抬起A键
KeyUp(0x41);

鼠标操作

c
// 移动鼠标
MouseMoveRELATIVE(10, 20);

// 点击左键
MouseLeftButtonDown();
Sleep(50);
MouseLeftButtonUp();

// 滚动鼠标
MouseWheelUp(120);

注意事项

  1. 使用前必须先调用 LoadNTDriver 加载驱动
  2. 加载驱动后需要调用 SetHandle 获取设备句柄
  3. 所有操作前建议通过 GetDriverStatus 检查驱动状态
  4. 若驱动状态异常,可通过 GetDetailedErrorCode 获取详细错误代码
  5. 可通过 CheckDeviceStatus 主动检查并更新驱动状态
  6. 程序退出前应调用 UnloadNTDriver 卸载驱动
  7. 鼠标移动坐标使用屏幕坐标系(左上角为原点)
  8. 键盘操作使用Windows虚拟键码(Virtual-Key Codes)

Released under the GPL-3.0 License.