怎么用C#程序来区分键盘上的左右SHIFT键 怎么用C#程序来区分键盘上的左右SHIFT键,没有做过,有些东西还不了解,希望能给源程序,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // 可以用 msg.LParam 来区分左右 Alt, Ctrl, Shift, 两个Enter 键using System.Windows.Forms;class Test : Form{ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { string s = string.Empty; switch ((int)msg.LParam) { case 0x20380001 : s = "LAlt" ; break; case 0x21380001 : s = "RAlt" ; break; case 0x001d0001 : s = "LControl"; break; case 0x011d0001 : s = "RControl"; break; case 0x002a0001 : s = "LShift" ; break; case 0x00360001 : s = "RShift" ; break; case 0x001c0001 : s = "Enter" ; break; case 0x011c0001 : s = "PadEnter"; break; } MessageBox.Show(msg + "\r\n" + keyData + "\r\n" + s); return base.ProcessCmdKey(ref msg, keyData); } static void Main() { Application.Run(new Test()); }} webbroser如何突破安全控件登陆? C#中运算符的重载 SlideshowExtender 控件的使用。 和迅雷实现的一样的功能。(为了说明详细写的有点多,大家见谅啊!) C#中String的解释 关于正则表达式的菜鸟问题 关于日期值为空的问题 业务逻辑该用中间组件写还是用存储过程写??? 如何用C#做一个书籍软件呀? 美眉求助,望好心人解答 如何使用C#开发Web程序(WebForm)网站??? 对于Form,有没有在初始化之后Load之前的事件? 大家能否谈谈在开发多版本应用的时候 如何减少代码的复用?
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
string s = string.Empty;
switch ((int)msg.LParam)
{
case 0x20380001 : s = "LAlt" ; break;
case 0x21380001 : s = "RAlt" ; break;
case 0x001d0001 : s = "LControl"; break;
case 0x011d0001 : s = "RControl"; break;
case 0x002a0001 : s = "LShift" ; break;
case 0x00360001 : s = "RShift" ; break;
case 0x001c0001 : s = "Enter" ; break;
case 0x011c0001 : s = "PadEnter"; break;
}
MessageBox.Show(msg + "\r\n" + keyData + "\r\n" + s);
return base.ProcessCmdKey(ref msg, keyData);
} static void Main()
{
Application.Run(new Test());
}
}