嗨,我有 ac# 应用程序,它使用 keybd_event 虚拟模拟按键。当我运行应用程序时,所有按键都可以正常工作。但是,在我关闭应用程序后,键盘上的某些键会变得混乱,因为当我按下某个键时,默认命令不会发生。
谢谢。
我假设您忘记释放您以编程方式“按下”的修饰键。确保使用您按下的每个键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
按键仍被按下。