名称 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");//printf输出中文Unicode字符要这样设置才能正常显示
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);