刚买了一个benq a53的本本,带有全尺寸的键盘,可是这个该死的明基没有提供NumLock键的指示灯,搞的很不方便,但有一个CapsLock指示灯,想用c#写个windows server,让CapsLock的指示灯两用,当NumLock键单独有效时,指示灯亮,当CapsLock键单独有效时指示灯闪亮(就是一亮一暗),当NumLock键和CapsLock键同时有效指示灯闪亮(就是一亮一暗)。
本人初学c#,不知道c#能不能完成这样的功能需求!
请高手指点下!!没有具体的实现也行啊,只要指点个思路。
现在大概能搞定了:
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
虚拟点击capslock
然后GetKeyboardState获得虚拟键盘状态
再用SetKeyboardState改变虚拟键盘状态
这样就能做到灯亮时小写灯灭时大写
全局键盘钩子还有待在研究哈哈.....
|