C# keybd_event用法 模拟键盘输入

最近有业务需求,需要模拟键盘输入,所以了解了一下C#中keybd_event函数的用法。该函数能够产生WM_KEYUP或WM_KEYDOWN消息,即可以触发键盘事件。

函数引用如下:

[DllImport("user32.dll", EntryPoint = "keybd_event")]
        public static extern void keybd_event(
            byte bVk,
            byte bScan,
            int dwFlags,  //0: DOWN, 2: UP  
            int dwExtraInfo  //Default: 0  
        );
    }

Keybd_event()共有四个参数。 
第一个为按键的虚拟键值,可以使用枚举值System.Windows.Forms.Keys。 
第二个参数为扫描码,一般不用设置,用0代替就行。 
第三个参数为选项标志,如果为keydown则置"0",如果为keyup则设成"2"。 
第四个参数一般也是置0即可。

'A'的虚拟键值为65,所以可以用如下代码实现模拟单击'A'键。 

keybd_event(65, 0, 0, 0);
keybd_event((byte)Keys.A, 0, 2, 0);

 

原文地址:https://www.cnblogs.com/LiangShanCamp/p/6393966.html