2012-06-24 85 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