1 [DllImport("user32.dll")] 2 public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo); 3 4 5 NativeMethods.keybd_event(bkey, 0x45, NativeMethods.KEYEVENTF_EXTENDEDKEY | 0, 0); 6 NativeMethods.keybd_event(bkey, 0x45, NativeMethods.KEYEVENTF_EXTENDEDKEY | NativeMethods.KEYEVENTF_KEYUP, 0);
bkey使用虚拟键盘的ascii码
注意的是字母大小写都用大写的哦(你看虚拟键盘的ascii码,就会发现只有大写的没有小写)大小写问题交给caps lock 和 shift按键去处理
虚拟键盘这个课题,关注点不要放在输出内容的控件焦点获取上,这么想就想偏了,会越做越复杂。做好触发键盘按下动作就可以了,焦点不用管,焦点在哪取决于用户操作
记得把模拟按键的那个控件 Focusable="False" 这样模拟的键盘 点击时焦点不会移到它上面的 这样焦点问题你就不用管了