2009-06-01 67 views
0

即時通訊使用:模擬按住一個鍵可

keybd_event(0x41, 0, 0, 0); 

的0x41是 'A'。但是這只是在屏幕上打印一個'a'。我需要它按住的關鍵。當我打電話

keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0); 

它必須釋放密鑰。

這可能嗎?

+0

你試圖模擬用戶按住'A'鍵來獲得aaaa ...嗎? – 2009-06-01 16:58:38

+0

您可以使用計時器或循環來連續調用keybd_event。或者,如果您知道要使用什麼硬件,則可以將按鍵輸入kb緩衝區。 – 2009-06-01 16:59:58

回答

0

你想完成什麼?用於保持按下的按鍵應該已經在第一行顯示。

Here's keybd_event()的文檔。也許它會幫助回答你的問題。 (也許你需要GetKeyboardState()方法?)

如果你只是試圖重複敲一個鍵,那麼在第一次調用中循環會比試圖讓系統自動重複更容易。您可以在系統信息API函數中找到適當的延遲。

1

您可以用SendInput替換keybd_event呼叫。您可以插入儘可能多的事件系統允許的按鍵事件。該函數返回成功插入的事件數量。