专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C#

键盘右上角的灯亮不亮的有关问题

发布时间:2011-06-21 11:23:59 文章来源:www.iduyao.cn 采编人员:星星草
键盘右上角的灯亮不亮的问题啊
键盘右上角的灯亮不亮的检测。(完整些)

------解决方案--------------------
using System;
using System.Runtime.InteropServices;
using System.Text;

namespace ConsoleApplication8{
class Class1{
[STAThread]
static void Main(string[] args){
// Display current status of keys.
Console.WriteLine(
"**BEFORE**rnCAP: {0}rnSCR: {1}rnNUM: {2} ",
Keyboard.GetState(VirtualKeys.VK_CAPITAL)? "ON ": "OFF ",
Keyboard.GetState(VirtualKeys.VK_SCROLL)? "ON ": "OFF ",
Keyboard.GetState(VirtualKeys.VK_NUMLOCK)? "ON ": "OFF "
);
//Toggle all the keys:
Keyboard.SetState(
VirtualKeys.VK_CAPITAL,
!Keyboard.GetState(VirtualKeys.VK_CAPITAL)
);
Keyboard.SetState(
VirtualKeys.VK_SCROLL,
!Keyboard.GetState(VirtualKeys.VK_SCROLL)
);
Keyboard.SetState(
VirtualKeys.VK_NUMLOCK,
!Keyboard.GetState(VirtualKeys.VK_NUMLOCK)
);
// Display new status of keys.
Console.WriteLine(
"rn**AFTER**rnCAP: {0}rnSCR: {1}rnNUM: {2} ",
Keyboard.GetState(VirtualKeys.VK_CAPITAL)? "ON ": "OFF ",
Keyboard.GetState(VirtualKeys.VK_SCROLL)? "ON ": "OFF ",
Keyboard.GetState(VirtualKeys.VK_NUMLOCK)? "ON ": "OFF "
);
Console.ReadLine();
}
}
public enum VirtualKeys: byte{
VK_NUMLOCK = 0x90,
VK_SCROLL = 0x91,
VK_CAPITAL = 0x14
}
class Keyboard{
const uint KEYEVENTF_EXTENDEDKEY = 0x1;
const uint KEYEVENTF_KEYUP = 0x2;
[DllImport( "user32.dll ")]
static extern short GetKeyState(int nVirtKey);
[DllImport( "user32.dll ")]
static extern void keybd_event(
byte bVk,
byte bScan,
uint dwFlags,
uint dwExtraInfo
);
public static bool GetState(VirtualKeys Key){
return (GetKeyState((int)Key)==1);
}
public static void SetState(VirtualKeys Key, bool State){
if(State!=GetState(Key)){
keybd_event(
(byte)Key,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0
);
keybd_event(
(byte)Key,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0
);
}
}
}
}
------解决方案--------------------
楼主你换一下就行啦
------解决方案--------------------
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: