首页 新闻 会员 周边

c# 控制指示灯

0
悬赏园豆:100 [已关闭问题] 关闭于 2008-12-30 12:14

      刚买了一个benq a53的本本,带有全尺寸的键盘,可是这个该死的明基没有提供NumLock键的指示灯,搞的很不方便,但有一个CapsLock指示灯,想用c#写个windows server,让CapsLock的指示灯两用,当NumLock键单独有效时,指示灯亮,当CapsLock键单独有效时指示灯闪亮(就是一亮一暗),当NumLock键和CapsLock键同时有效指示灯闪亮(就是一亮一暗)。

      本人初学c#,不知道c#能不能完成这样的功能需求!

      请高手指点下!!没有具体的实现也行啊,只要指点个思路。

问题补充: 编程只有想不到 没有做不到 一楼的回答太武断。 用c#写个win服务还是很容易的 现在的问题是: 1.如何截取键盘的输入(这个貌似不是很困难) 2.根据截取的信息判断CapsLock和NumLock的状态,控制指示灯的亮还是灭。 貌似控制灯的亮还是灭有点困难,请高手指教啊。 三楼的只能获得指示灯的状态,并不能设置指示灯的状态,不符合我的需求,api函数中没有设置指示灯状态的吗?
驢騎士的主页 驢騎士 | 初学一级 | 园豆:0
提问于:2008-12-29 14:05
< >
分享
所有回答(3)
0

windows server?用C#怕是写不成啊!

这个似乎不太容易啊。基本上可以说不太可能了,如果有牛人希望指导了

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-29 14:37
0

不会

程序员海风 | 园豆:205 (菜鸟二级) | 2008-12-29 15:08
0
[DllImport("user32.dll", 
CharSet = CharSet.Auto,
ExactSpelling = true,
CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);

bool CapsLock = (((ushort) GetKeyState(0x14)) & 0xffff) != 0;
bool NumLock = (((ushort) GetKeyState(0x90)) & 0xffff) != 0;
bool ScrollLock = (((ushort) GetKeyState(0x91)) & 0xffff) != 0;

MessageBox.Show("Caps Lock is on: " + CapsLock.ToString());
MessageBox.Show("Num Lock is on: " + NumLock.ToString());
MessageBox.Show("Scroll Lock is on: " + ScrollLock.ToString());
winzheng | 园豆:8797 (大侠五级) | 2008-12-29 18:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册