我有一個在 Windows 8 機器上有一台印表機的場景,需要透過 VirtualBox 共用到在同一台機器上執行的 FreeDOS 實例。
最初我希望有一個類似於 VMware 或 Parallels 的印表機共用功能,但我並沒有真正找到一個「方便」的選項。這台印表機將經常用於從 Windows 本身進行列印,但是這個良好的舊 DOS 程式也需要能夠偶爾進行列印。
我在想也許最好的選擇是在 Windows 中啟用印表機的網路共享,然後嘗試以某種方式將網路印表機連接到 FreeDOS 實例中的虛擬並行連接埠。
我的 TCP/IP 網路在 FreeDOS 實例中運作得很好,但現在需要將共用印表機連接埠抓取到我假設的某個虛擬 lpt 上。
我想到的另一個想法是,我可能需要在 Windows 端獲取一些軟體來為 DOS 提供更通用的輸入,從而允許簡單的 DOS 應用程式字元噴出,而不是需要一些更繁重的驅動程式處理。
關於如何實現這一目標有什麼想法嗎?
答案1
我不熟悉 FreeDOS 網絡,但如果您可以對共用網路驅動器進行“網路使用”,您也應該能夠執行以下操作:
Net use lpt1 \\server\printershare
不過,您的 MS-DOS 應用程式必須支援列印到網路印表機。
如果 MS-DOS 應用程式試圖直接操作 LPT 硬體晶片,這是行不通的。如果它將 LPT1 作為文件訪問,則這將起作用。
Windows 端無需為此提供驅動程式等。它很樂意將從 DOS 用戶端接收到的原始位元組直接傳遞到印表機。 (或者,您可以在 Windows 中將印表機設定為「一般/純文字」印表機,以確保 Windows 不會影響列印作業。)
如果您的 DOS 應用程式堅持自行控製印表機硬件,那麼實現此目的的唯一方法是(據我所知)在主機系統上擁有一個真正的並行印表機,並將該並行端口直接映射到 FreeDOS VM 上。 (但它不能同時從主機系統使用!)