설명에 따르면 바코드 스캐너가 HID 바코드 스캐너라고 가정합니다. 그렇다면 바코드 스캐너가 키보드와 똑같이 기능하기 때문에 쉬운 대답은 없습니다. 키보드 입력을 비활성화하면 바코드 스캐너가 비활성화됩니다.
내가 전에 이런 짓을했는지, 내가 알고있는 몇 가지 해결책이 있습니다 : HID 바코드 스캐너가 아닌 바코드 스캐너를 사용
- 은. 예 : 시리얼 등.
- 바코드 스캐너가 바코드 스캔의 시작과 끝 부분에 특수 문자를 보내도록 구성합니다. (이것은 바코드 스캐너의 특정 모델에 대한 설명서가있는 경우 할 수 있습니다.) 바코드 스캐너에서 데이터를 가져 오는 신호로 이러한 특수 문자를 수신하는 KeyPressed 이벤트를 작성하십시오. 표시되면 텍스트 상자를 사용하거나 사용하지 않도록 설정합니다.
- Windows API 호출을 사용하여 바코드 스캐너와 직접 통신합니다. 이를 위해서는 바코드 스캐너의 VID 및 PID, GetRawInputDeviceInfo, GetRawInputData 및 RegisterRawInputDevices와 같은 API에 대한 자세한 지식이 필요합니다. 애플리케이션의 어느 위치에서나 바코드 입력을받을 수 있기 때문에 매우 강력하지만 매우 복잡합니다.
그러나주의 할 점은 텍스트 상자를 사용하지 않는 것이 좋습니다. 바코드가 손상되어 스캐너가 읽을 수 없으면 어떻게해야합니까? 항상 바코드를 수동으로 입력 할 수 있어야합니다. 다음에 상점에서 금전 등록기를 통과 할 때 수동으로 바코드를 입력하는 방법이 항상 있음을 알아 두십시오.
텍스트 상자의 enabled 속성을 false로 설정 한 다음 바코드 스캐너의 API를 사용하여 스캔 이벤트에 연결하고 해당 스캔 결과에 텍스트 상자 값을 설정할 수 있습니다. –
희망이 있습니다. http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/ – Steve