如何將虛擬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是共用電腦的名稱,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 連接,因為您的電腦一開始就沒有任何連接。您也許可以購買USB/COM 轉接器只是為了存取這些值,然後使用上述說明轉發到您的 USB 印表機。

聽起來有點駭客,但當你運行舊軟體時,有時就會出現這樣的情況。無論什麼解決方案,我不知道它會顯得優雅!

最後一件事就是購買一個 USB 轉串行/並行適配器和一台符合規格的廉價印表機。如果您在商業中使用該軟體,我認為這是一筆很容易合理的費用。

答案4

如果您需要模擬串行端口,該軟體可以實現這種工作 https://www.eltima.com/products/vspdxp/ 但我不知道你是否可以用模擬的 COM 與你的 USB 通訊...

相關內容