-
-
[旧帖]
[求助]如何获取USB键盘的Caps Lock键的状态???
0.00雪花
-
发表于:
2008-7-28 11:09
3355
-
[旧帖] [求助]如何获取USB键盘的Caps Lock键的状态???
0.00雪花
以前看过一个过滤键盘驱动的代码,其中有一段代码可以判断键盘的Caps Lock键是否被按下,代码如下:
PIRP irp = IoBuildDeviceIoControlRequest(IOCTL_KEYBOARD_QUERY_INDICATORS,pDevExt->pKeyboardDevice,
NULL,0,&indParams,sizeof(KEYBOARD_ATTRIBUTES),TRUE,&event,&ioStatus);
status = IoCallDriver(pDevExt->pKeyboardDevice, irp);
if (status == STATUS_PENDING)
{
(VOID) KeWaitForSingleObject(&event,Suspended,KernelMode, FALSE,NULL);
}
int flag = (indParams.LedFlags & KEYBOARD_CAPS_LOCK_ON);
flag如果为0,则表示Caps Lock键没有被按下; flag如果为4,则表示Caps Lock键被按下;
但是这只能在ps/2键盘下有效,而在usb键盘下无法获取Caps Lock键的状态?
请问高手是否有别的方法来获得Caps Lock键的状态???
[课程]FART 脱壳王!加量不加价!FART作者讲授!