名称 HKMCheckPressedKeys 检查按键
功能 检查键盘、鼠标的哪些键被按下。在程序运行前,可能有些键盘或者鼠标的键因某种原因被按下未弹起,有的从物理上看弹起了,实际在逻辑上并未弹起。这样会影响后面的键盘、鼠标操作,所有最好先检查一下。
参数 参数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");//printf输出中文Unicode字符要这样设置才能正常显示
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);