您好我有一个c#应用程序,它使用keybd_event虚拟模拟按键。当我运行应用程序时,所有按键操作都很好。然而,在我关闭我的应用程序后,键盘上的一些键变得混乱,当我按某个键时,默认命令不会发生。
感谢。
答案 0 :(得分:2)
我假设您忘记发布以编程方式“按下”的修改键。对于您按的每个键,请务必使用keybd_event
选项致电KEYEVENTF_KEYUP
。
以下是按Ctrl
+ Q
:
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VK_Q, 0, 0, 0);
keybd_event(VK_Q, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
如果您忘记了最后一行,那么所有后续按键 - 即使是由用户手动执行 - 也会被解释为仍然按下Ctrl
键。