-4

嗨,我有 ac# 应用程序,它使用 keybd_event 虚拟模拟按键。当我运行应用程序时,所有按键都可以正常工作。但是,在我关闭应用程序后,键盘上的某些键会变得混乱,因为当我按下某个键时,默认命令不会发生。

谢谢。

4

1 回答 1

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按键仍被按下。

于 2012-06-24T13:59:10.633 回答