2016-02-15 12 views
0

Я эту проблему решить с помощью USB-устройства:драйвер для Windows HID для клавиатуры USB

  • подключен к POS ПК (Windows POSReady 2009) есть USB-клавиатура и USB Dallas I-Button чтения
  • чтения USB подключен к Mobo USB шине, и показывает, как USB Composite устройства:

    USB Composite Device 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 (2ст пример) USB \ VID_134B & PID_0206 & REV_0100 & MI_01

    HID клавиатура HID \ VID_134B & PID_0206 & REV_0100 & MI_00

  • , когда я прочитал I-Button с читателем, код внутри кнопки добавляется в буфер клавиатуры (как это было напечатано с физической клавиатурой) и активное применение (которым имеет фокус клавиатуры) получить код

  • мое приложение должно interract с кодами прочтенных устройством USB, однако я должен иметь фокус costantly на TextBox, чтобы получить код
  • это не всегда возможно, специально с автоматическими MessageBox, которые занимают фокус (и ввод с клавиатуры) и могут создавать сбои.
  • лучше всего иметь считыватель на последовательном порту или TCP/IP, но это единственный выбор мы (мы не можем изменить читатель)

Итак, моя идея заключается в ловушку входящей «нажатие клавиши» от чтения клавиатуры, избежать добавлений в системном буфере клавиатуры, и передать их в мое приложение через WM_USER, WM_COPYDATA, Socket или другие метод.

Таким образом, целью было бы написать драйвер, чтобы применить ТОЛЬКО к определенному USB HID-устройству (I-Button reader, но НЕ к настоящей клавиатуре ПК), которые блокируют нажатие клавиши и отправляют в приложение каким-то образом.

Я проверил «фильтр клавиатуры» Microsoft, но я могу блокировать только некоторые комбинации ключей, но это не моя цель.

Я думаю, что я должен создать обычай личного драйвера «kbdhid.sys» и/или «kbdcalss.sys» и применить ТОЛЬКО к моему USB HID Reader.

Может ли кто-нибудь указать мне правильное направление?

Большого спасибо

ответ

0

установить читатель послать префикс перед отправкой коды мониторинга клавиатуры Que для префикса и иметь свое всплывающее окно приложения, чтобы он получает ввод с клавиатурой.

Однако многие читатели могут быть настроены только для отправки управляющего кода, такого как STX - ведьма является control_B - и используется окнами.