C# 模拟Windows键盘消息

Posted kybs0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 模拟Windows键盘消息相关的知识,希望对你有一定的参考价值。

如下,发送Ctrl+Shift+/,消息如下:

 1     [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
 2     public static extern void keybd_event(
 3         byte bVk,    //虚拟键值
 4         byte bScan,// 一般为0
 5         int dwFlags,  //这里是整数类型  0 为按下,2为释放
 6         int dwExtraInfo  //这里是整数类型 一般情况下设成为 0
 7     );
 8     private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
 9     
10         OutputTextBox.Focus();
11         keybd_event((byte)Keys.LControlKey, 0, 0, 0);
12         keybd_event((byte)Keys.LShiftKey, 0, 0, 0);
13         keybd_event((byte)Keys.Divide, 0, 0, 0);
14         keybd_event((byte)Keys.LControlKey, 0, 2, 0);
15         keybd_event((byte)Keys.LShiftKey, 0, 2, 0);
16         keybd_event((byte)Keys.Divide, 0, 2, 0);
17     

发送结果:

技术图片

参考资料:

keybd_event模拟对照表以及用法.

 

以上是关于C# 模拟Windows键盘消息的主要内容,如果未能解决你的问题,请参考以下文章

c# Windows 10 虚拟键盘问题

C# 编写 Windows 动态桌面软件实现之桌面交互功能

SendInput模拟键盘输入的问题

检测模拟键盘/鼠标输入

windows api模拟键盘鼠标

python 模拟windows键盘按键的封装