Symbol Scanner无法作为IBM Hand-Held USB使用

时间:2015-10-23 19:45:51

标签: javascript barcode clsid

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

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

任何有关如何进行调试的帮助都很棒

此外,我没有在网上看到有关javascript扫描仪支持的帮助。

注释

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

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

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

在设置默认模式下,

扫描代码时,输​​入值05将发送到记事本。 在输出工具中 000037:批量或中断转移(UP),26.10.2015 12:01:25.654 +0.008。 (1.设备:USB输入设备)状态:0x00000000 管道句柄:0x9cf8cd0(端点地址:0x81) 从设备获取0x8字节  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) 从设备获取0x40字节  09 10 03 00 30 35 00 25 0B 00 00 00 00 00 00 00 .... 05。%........  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支持我需要导入的任何扫描仪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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您应该使用DS9808 reference manual中提供的条形码进行配置。 第8章是关于IBM 468X / 469X接口的,如果这是您正在寻找的。

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