怎么用C#程序来区分键盘上的左右SHIFT键,没有做过,有些东西还不了解,希望能给源程序,谢谢!

解决方案 »

  1.   

    // 可以用 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());
      }
    }