2012-03-30 2 views
2

USB 인터페이스가있는 바코드 스캐너가 있으므로 HID로 표시됩니다.휴먼 인터페이스 장치를 디버깅하는 방법은 무엇입니까?

이유가 있습니다. 은 첫 문자에서 중단 점이되어야합니다.

내 델파이 IDE를 앞에 가져다 놓으면 중단 점에서 멈추고 바코드의 나머지 부분은 마치 키보드 앞에 입력 된 것처럼 내 코드에 주입됩니다 (어떤 방법 으로든 USB 스캐너는 또 다른 HID입니다.

이 문제를 방지 할 수있는 방법이 있습니까? 또는 입력 소스에 대한 초기 점검을 추가 하시겠습니까?

나는 이제 RS232 인터페이스가있는 스캐너를 찾고 있습니다.

+1

아마도 한 번에 한 문자만으로 몇 가지 테스트 바코드를 만들 수 있습니까? – Charles

+0

+1 완벽한 해결책은 아니지만 삶을 편하게 만듭니다. 감사. – Mawg

+2

Windows 메시지 (wm_char?)를 가로 채서 어떤 종류의 배열에 넣고 msg를 처리하도록 설정 한 다음 코드를 통해 입력에 제공 할 수 있습니까? –

답변

1

문제는 HID "장치"가 "보고"이라는 패킷으로 정보를 컴퓨터로 다시 보내는 문제입니다.
mag-swipe 또는 바코드 스캐너의 경우 "보고서"에는 전체가입니다.

즉, 보고서는 문자는 아니지만 한 번에 전체 문자열을받습니다. mag-swipe의 경우 동일한 보고서에 두 개 또는 세 개의 트랙이 모두 표시됩니다.

그래서 코드가 "첫 번째 문자에"을 아프게하지 않는, 그것은 "전체 보고서의"나누기. 나머지 문자가 있다는 사실은 보너스라고 생각할 수 있습니다 (보지 않으려는 경우 보지 않아도됩니다). 하지만 그 이후의 문자에 대해서는 "보고서"을 더 이상 수신하지 않게됩니다.

내가 왜 이 아니겠습니까?은 바코드를 한 번에 알고 싶어합니다. 그러나 대부분의 mag-swipe 및 bar-code 스캐너는 일반 HID 장치가 아닌 키보드을 에뮬레이트하도록 구성 할 수 있습니다. 이 경우 복수 WM_KEYDOWN 메시지가 전송됩니다.

관련 문제