如何将虚拟 COM 端口映射到物理 USB 端口?

如何将虚拟 COM 端口映射到物理 USB 端口?

我的问题类似于设置虚拟 Com 端口?,没有答案。

我有只能打印到 COMx 上的打印机、带有 USB 端口的打印机和带有 USB 端口但没有串行端口的计算机的软件,因此经常建议的物理串行到 USB 适配器不是解决方案。我正在寻找可以欺骗 Windows 7 将虚拟 COM 端口映射到物理 USB 端口的软件。我确信,如果我使用的软件将其位流发送到 USB 端口,打印机将正常工作。如何欺骗软件,让它认为它正在打印到 COMx,而实际上它正在打印到 USBx?

互联网搜索只会找到某些特定硬件串行转 USB 适配器的驱动程序,但这不是我要找的,因为我没有该硬件。我找到了一个 Microsoft 论坛,他们建议在设备管理器中更改 USB 端口的标签,但我们从未找到他们描述的内容;也许使用与我们不同的 USB 控制器是可能的。

答案1

有一种使用标准 Windows 命令的简单方法。Lee Harrison 的链接显示了此命令,但这里有一个简短的描述。首先使打印机可共享(从打印机属性 > 共享选项卡)。

现在,启动命令提示符并输入:

NET USE COM1: //pc_name/printer_share_name /persistent:yes

这里的pc_name是共享PC的名称,printer_share_name是您在设置共享时为打印机指定的共享名称。

从那时起,您发送到 COM1 的任何内容都将被重新路由到打印机。

但是有一个条件 - 无论您使用哪种方法将数据传输到打印机、硬件或软件,它都适用:

由于您的程序只知道 COM1,我假设它会将纯文本发送到打印机。许多仅 USB 的打印机不理解纯文本,并且会完全忽略它。这样做的打印机称为基于主机的打印机,其中 Windows 图形引擎将页面转换为纸上的点,而不是让打印机进行转换。它们大多是低成本打印机,尤其是喷墨打印机,但也有一些激光打印机。理解文本的打印机需要支持一种称为 PCL5 的语言。PCL6 打印机通常也支持 PCL5,但 PCL3 打印机不支持。

如果您告诉我您的打印机型号,我就可以检查它支持什么语言。

答案2

我们在公司中使用了这个解决方案。

FTDI 虚拟 COM USB

虚拟 COM 端口 (VCP) 驱动程序使 USB 设备显示为 PC 可用的附加 COM 端口。应用软件可以像访问标准 COM 端口一样访问 USB 设备。

这里是安装指南。

答案3

这是一个非常特殊的场景,但以下指示可能适合您: http://www.decompile.com/dataflex/tips/usb_printer.htm

直接从该链接:

The solution is to assign the USB-connected printer a network name, and 
then to associate that network name with an unused LPT port. The
***** program will print to the LPT port and Windows will 
automatically redirect the job to the USB printer port.

但是,我不知道你的情况是否可以选择 COM 连接,因为你的 PC 一开始就没有 COM 连接。你可以购买USB/COM 适配器只是为了访问这些值,然后使用上述方向转发到您的 USB 打印机。

听起来有点黑客风格,但当你运行旧软件时,有时就会出现这种情况。无论解决方案是什么,我都不知道它是否看起来优雅!

最后一种选择是购买 USB 转串口/并口适配器和符合规格的廉价打印机。如果您在业务中使用此软件,我认为这是一笔合理的开支。

答案4

如果你需要模拟串行端口,这个软件可以完成这项工作 https://www.eltima.com/products/vspdxp/ 但我不知道您是否可以使用模拟的 COM 与您的 USB 通信...

相关内容