XIKEW.COM - 公读宝典 - C# 模拟按键 - 公读宝典, - 文章记录了如何使用 user32.dll 来实现按键模拟的操作

C# 模拟按键
C# 4/1/2022 9:54:58 AM 阅读:15

文章记录了如何使用 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);

效果

微信截图_20220401095738.png