HKMGetDevInfo 获得设备信息
功能
获得键鼠模拟器的设备信息
参数
- 参数1: 设备对象:无类型指针。使用HKMOpen可以创建它。
- 参数2: 序号,可取值如下:
- 1: 设备类型,最新版返回2
- 2: 固件版本,返回值中,0-15位是修订号,16-23位是副版本号,24-31位是主版本号。
- 3: 运行时间,返回值是从通电或者复位开始运行的毫秒数,断电和复位都会归零。系统休眠时不计时。这个时间精度不高,有误差。
- 4: 通电时间。返回值是从通电开始运行的毫秒数,断电会归零,复位不会归零。系统休眠时不计时。这个时间精度不高,有误差。
- 6: 复位次数。
- 7: 运行状态。设备未连接返回0xFFFFFFFF,设备准备中返回0,正常工作状态返回1,编辑状态返回2,禁止操作状态返回3。
- 8: USB设备接口的VID值
- 9: USB设备接口的PID值
- 10: USB设备接口的设备版本值
- 参数3: 是否鼠标:布尔值
- True: 自动获得设备信息,如果同时有键盘模式或者鼠标模式的设备,获得鼠标模式的设备信息
- False: 自动获得设备信息,如果同时有键盘模式或者鼠标模式的设备,获得键盘模式的设备信息
返回值
无符号32位整型数,返回值由参数2决定。
C#例子
uint dwDevId;
IntPtr lpDev;
dwDevId = SkmCore.HKMSearchDevice(0x1234, 0xABCD, 0);
if (dwDevId == 0xFFFFFFFF)
{
Console.WriteLine("未找到键鼠模拟器");
return;
}
lpDev = SkmCore.HKMOpen(dwDevId, 0);
if (lpDev == IntPtr.Zero)
{
Console.WriteLine("打开键鼠模拟器失败");
return;
}
Console.WriteLine($"键鼠模拟器固件版本号:{SkmCore.HKMGetDevInfo(lpDev, 2, false):X8}");
SkmCore.HKMClose(lpDev);
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);