# HKMCheckPressedKeys

名称 | 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);