0

我使用 Motorola Symbol Scanner DS9808 。我能够在正常模式下将条形码扫描到记事本。但是,当我通过扫描 LS2208 指南中可用的条形码以 IBM 手持 USB 模式启用扫描仪时,我不再能够将条形码扫描到记事本。

当我以 IBM 手持 USB 模式连接此扫描仪时,我在设备管理器下看到一个新的 HID 设备。

任何关于我如何继续调试的帮助都会很棒

此外,我在网上看不到太多关于使用 javascript 的扫描仪支持的帮助。

#

评论

现在我拿到了一台 LS2208 扫描仪,并按照前面提到的步骤进行操作。当我将它用作 IBM Hand-Held USB 时,我无法将输入发送到记事本等。

我尝试自己调试此问题,以下是信息。希望它有用我在我的笔记本电脑上安装了一个工具来监控来自 USB 设备的输入。

当我扫描值为 05 的 128A 条码时,

在设置默认模式下,

扫描代码时,输​​入值 05 将发送到记事本。在工具中,输出为 000037:批量或中断传输 (UP),26.10.2015 12:01:25.654 +0.008。(1. Device: USB Input Device) Status: 0x00000000 Pipe Handle: 0x9cf8cd0 (Endpoint Address: 0x81) Get 0x8 bytes from the device 00 00 00 00 00 00 00 00 ........

在 IBM 手持 USB 模式下,

没有输入发送到记事本。监控工具的输出为 000005:批量或中断传输 (UP),26.10.2015 11:22:57.112 +16.722。(1.设备:USB输入设备)状态:0x00000000管道句柄:0xdd77130(端点地址:0x82)从设备09 10 03 00 30 35 00 25 0B 00 00 00 00 00 00 00 ....05获取0x40字节。 %........ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...... ......

从一些博客中,我看到我们需要一些 html 中的 javascript 代码,这将使扫描仪将输入发送到文本框。但这对我不起作用。

请让我知道 Javascript 是否支持我需要导入的任何 Scanner API,或者此类代码是否仅适用于 C#。

< html >
  < body onload = "DevMgrLoad();"
onunload = "DevMgrUnload();" >
  < input type = "text"
id = "ctl00_ContentPlaceHolder1_SKU" / >
  < /body>
<head>
<object id="DeviceMgr" classid="clsid:745A17A0-74D3-11D0-B6FE-00A0C90F57DA"></object >
  < script type = "text/javascript" >
  function DevMgrLoad() {
    DeviceMgr.Initialize();
  }

function DevMgrUnload() {
  DeviceMgr.Uninitialize();
} < /script>
<script type="text/javascript
" for="
DeviceMgr " event="
DeviceEvent(strEvent)
">
		alert('mani for');
        var strEventName;
        var nsEvent;
           nsEvent = new ActiveXObject("
eSpace.esNamespace ");
           nsEvent = nsEvent.ApplyXML(strEvent);

           strEventName = nsEvent.Name;
           
           if (strEventName == "
Scanner.DataEvent ") 
           {
               try
               {
                   strEventName = nsEvent.PROPERTIES.Scanner.ScanData;        
                   document.activeElement.value =  strEventName;     
                   if (document.activeElement.id != "
ctl00_ContentPlaceHolder1_SKU ")
                   {
                       var ctl = document.getElementById(document.activeElement.id);
                       ctl.value = '';
                       ctl.focus();
                   }
                   else
                   {
                          document.activeElement.fireEvent("
onchange ");
                }               
               }
               catch(exception)
               {                 
                   // this occurs when the user scans a field that is not scannable
                   // ignore the error
               }   
        }
           nsEvent = null;      
</script>
</head>
</html>

4

1 回答 1

1

您应该使用DS9808 参考手册中提供的条形码来配置它。第 8 章是关于 IBM 468X/469X 接口的,如果这是你要找的。

LS2208 是一款价值层激光扫描仪,与基于 2D Imager 的 DS9808 相比,可用选项更少。

于 2015-10-25T13:45:14.483 回答