C# 模拟按键
文章记录了如何使用 user32.dll 来实现按键模拟的操作
背景
最近对LinkCore的PluginBuildAfter进行更新,希望每次编译插件后自动重启插件并且附加到调试操作,所以用到了模拟按键的方法
参考文章地址
正文
引用命名空间
using System.Runtime.InteropServices;
定义键盘事件
[DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(
byte bVk, //虚拟键值 参考上面的文章
byte bScan, // 一般为0
int dwFlags, //这里是整数类型 0 为按下,2为释放
int dwExtraInfo //这里是整数类型 一般情况下设成为0
);
触发附加到正在进行的进程快捷键是 ALT+SHIFT+P
, 以下是关键代码:
keybd_event(18, 0, 0x0000, 0); //ALT
keybd_event(16, 0, 0x0000, 0); //SHIFT
keybd_event(80, 0, 0x0000, 0); //P
keybd_event(18, 0, 0x0002, 0);
keybd_event(16, 0, 0x0002, 0);
keybd_event(80, 0, 0x0002, 0);