首页
社区
课程
招聘
[旧帖] [求助]如何获取USB键盘的Caps Lock键的状态??? 0.00雪花
发表于: 2008-7-28 11:09 3354

[旧帖] [求助]如何获取USB键盘的Caps Lock键的状态??? 0.00雪花

2008-7-28 11:09
3354
以前看过一个过滤键盘驱动的代码,其中有一段代码可以判断键盘的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键的状态???

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
建一个隐藏的文本框,再sendkey,判断大小写....
无奈之举,我这方面很差,LZ试试吧
2008-7-28 20:02
0
游客
登录 | 注册 方可回帖
返回
//