我正在爲條碼掃描器製作「驅動程序」。延遲的全局鍵盤鉤
這個特定的掃描儀基本上是一個USB鍵盤,只要掃描了某物就會產生鍵擊。
我想找到一種方法來區分這些擊鍵與正確鍵盤發送的擊鍵。不幸的是,唯一不同的是,掃描儀在幾分之一秒內快速地產生鍵盤輸入和密鑰。
我看到它的方式是我必須建立一個全局鍵盤鉤子,攔截所有輸入,以某種方式存儲它,等待一小會兒,然後將這些鍵擊發送到鉤子鏈或者假設它們是掃描器生成並適當地處理它們。
但是,由於沒有使用鉤子的經驗,我不確定正確的做法。我可以在KeyboardProc()
之外的其他某個線程中使用CallNextHookEx()
來傳遞延遲按鍵事件嗎?或者我應該手動生成一個新的WM_KEYPRESS
消息?也許有更好的方法去做這件事?
謝謝。
這與[此問題]基本相同(http://stackoverflow.com/questions/12885897/block-keystrokes-from-a-specific-keyboard)。不幸的是,只有一半的答案。 – arx
這個答案應該可以解決你的問題:http://stackoverflow.com/a/3060668/886887 –
@HarryJohnston它應該,不幸的是存在這樣的事情,我似乎需要支持鍵盤/卡掃描儀組合;它註冊爲一個單一的設備,但同時發送常規鍵盤輸入和掃描代碼作爲難以區分的擊鍵: – obamator