我有這個問題,一個USB設備來解決:爲USB鍵盤的Windows HID設備驅動程序
- 連接到POS PC(視窗POSReady 2009)有一個USB鍵盤和USB達拉斯I-按鈕讀卡器
USB讀卡器連接到主板USB總線,以及顯示爲USB複合裝置:
USB複合設備 USB \ VID_134B & PID_0206 & REV_0100
兼容HID設備 HID \ VID_134B & PID_0206 & REV_0100 & MI_01
USB輸入裝置(第一實例)USB \ VID_134B & PID_0206 & REV_0100 & MI_00
USB輸入裝置(2ST實例)USB \ VID_134B & PID_0206 & REV_0100 & MI_01
HID鍵盤 HID \ VID_134B & PID_0206 & REV_0100 & MI_00
,當我讀I-按鈕與讀取器,該按鈕內的代碼被添加到鍵盤緩衝區(因爲它是與物理鍵盤鍵入)和活動的應用程序(至極具有鍵盤焦點)收到代碼
- 我的申請必須由USB設備readed碼interract,但是我必須專注於costantly一個TextBox接收代碼
- 這並不總是可能的,特別是無人值守的MessageBoxes,這需要重點(和鍵盤輸入),並可以創建故障
- 最好應該有一個閱讀器串口或TCP/IP,但這是唯一的選擇我們從讀者鍵盤(我們不能改變閱讀器)
所以,我的想法是陷阱來襲「按鍵」,避免系統鍵盤緩衝區追加中,並傳遞給通過WM_USER,WM_COPYDATA,插座或其他我的應用程序方法。
因此,目標是編寫一個驅動程序,僅應用於特定的USB HID設備(I-Button閱讀器,但不適用於真正的PC鍵盤),他們以某種方式阻止按鍵並將其發送給應用程序。
我檢查了「鍵盤過濾器」微軟的方式,但我可以阻止只有一些組合鍵,但這不是我的目標。
我想我應該創建一個個人「kbdhid.sys」和/或「kbdcalss.sys」驅動程序的自定義,並只適用於我的USB HID讀取器。
難道有人指出我正確的方向嗎?
非常感謝