[英]c# communicating with an usb port
我正在尝试使用他的虚拟COM端口名称和Serial Port类联系USB条形码扫描仪作为串行端口。
我尝试这样做的原因是避免将扫描仪用作键盘楔,因为即使隐藏了表单,我也需要进行扫描。
问题是,当我将条形码扫描仪连接到USB端口并运行“ GetPortNames”功能时,会得到一个空列表。 有什么建议吗? 谢谢
通常,许多USB条形码扫描仪只会显示为虚拟键盘设备,而不是虚拟COM端口。 那可以解释为什么它不出现。
您的扫描仪是否支持某种串行仿真模式? 您可能需要对其进行配置或安装其他驱动程序才能启用此功能。 它在设备管理器中是否显示为串行端口? (在“端口”树下查看)
作为旁白:
如果发现只有“键盘模式”是受支持的,请看一下这个问题: 使用USB条码扫描器读取条形码,并忽略扫描器产品ID和供应商ID未知的键盘数据输入
这个问题针对这篇文章,提供了大量与键盘挂钩和过滤出扫描条形码相关的良好信息: http : //nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the- Winforms键盘/
我不能保证它可以与您的特定设备一起使用,但是我曾经看过可以解决类似问题的代码。 解决方案是在注册表中寻找端口名称。
可以在开源项目ez430chronosnet中找到它的代码; 一个.NET库,可以通过其USB软件狗访问TI的EZ430 Chronos手表。
您将需要查看在注册表中查找名称的PortName.cs
文件 (它至少将您指向右侧键)和使用SerialPort
进行实际端口打开的Chronos.cs
文件 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.