Table of Contents

HKMVerifyUserData 验证用户数据

功能

用于验证加密字符串,验证这个字符串是否与硬件设置的字符串是否相同,最主要用于硬件的分发与授权。相关函数:HKMSetMode

参数

  • 参数1: 设备对象:无类型指针。使用HKMOpen可以创建它。
  • 参数2: 字符串:加密字符串(Unicode/Ansi),购买键鼠模拟器时随硬件提供,每个设备唯一。
  • 参数3: 是否鼠标:布尔值。取FALSE时,对键盘验证用户数据,如果同时有键盘模式和鼠标模式的设备,则验证键盘模式的设备的用户数据。取TRUE时,对鼠标验证用户数据,如果同时有键盘模式和鼠标模式的设备,则验证鼠标模式的设备的用户数据。

返回值

布尔值。相同返回True,不相同或失败返回False。

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.HKMVerifyUserData2(lpDev, \"1234567890ABCDEF1234567890ABCDEF\", false) == SkmCore.HKMGetSerialNumber(lpDev, false))}");
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("验证用户数据:%d\n",HKMVerifyUserData2(lpDev,L"1234567890ABCDEF1234567890ABCDEF",FALSE)==HKMGetSerialNumber(lpDev,FALSE));
HKMClose(lpDev);