怎么发送小键盘的数字键???SendKey.Send("7");是大键盘的7
ASCII分别是:
小键盘的7是103
大键盘的7是55

解决方案 »

  1.   

    它们的ascii是相同的,都是55,只是键盘扫描码不同(8和71),有点麻烦!
      

  2.   

    不使用SendKeys,改用Keybd_event:[DllImport("user32.dll", EntryPoint = "keybd_event", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern void Keybd_event(byte vk, byte scan, int flags, int extrainfo);
    const int KEYEVENTF_EXTENDEDKEY = 0x1;
    const int KEYEVENTF_KEYUP = 0x2;
    protected override void OnClick(EventArgs e)
    {
        base.OnClick(e);
        Keybd_event((byte)103, 0x45, KEYEVENTF_EXTENDEDKEY, 0);
        Keybd_event((byte)103, 0x45, KEYEVENTF_KEYUP, 0);
    }protected override bool ProcessDialogKey(Keys keyData)
    {
        Console.WriteLine(keyData);
        return base.ProcessDialogKey(keyData);
    }
      

  3.   

    SendKey.Send((char)55);
    SendKey.Send((char)103);