2012-06-24 53 views
-3

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

谢谢。

+1

在你的问题被关闭之前,小心地显示一些代码或其他内容,因为这不是真的吗? –

回答

2

我假设你忘了释放一个你编程的“按下”的修饰键。请确保使用KEYEVENTF_KEYUP选项为您按下的每个键调用keybd_event

这里是压制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键仍然被按下。

+0

谢谢我使用了Windows键,这使我的键盘输入变得混乱。 – watereater