键盘按键后,键盘驱动把按钮扫描码发给操作系统,操作系统把扫描码转成虚拟键码,生成一个windows消息,如WM_KEYDOWN传给应用程序。有些游戏直接从底层得到按键,不经过上层的windows消息,所以,采用上层的keybd_event来模拟按钮,游戏是不识别的。
有些游戏或者应用程序,为了安全考虑,会hook键盘驱动,在键盘驱动之上还有一个filter driver,比较底层,应用接受的键盘event都是来自于filter driver。应用层模拟的键盘event压根就不会被收到,自然不会有响应。以上纯属个人理解,欢迎讨论。
21,597
社区成员
21,709
社区内容
加载中
试试用AI创作助手写篇文章吧