我有一个旧版应用程序,只能在 DOS 到 Windows XP 下运行,但现在我更喜欢使用 Windows 8,因为还有其他软件。这个旧版应用程序使用lpt1
端口来打印你的东西,在 Dosbox 中我无法lpt1
使用以下方式配置端口:
net use lpt1 \\<mynetworkpc>\<printer> /persistent:yes
注意:打印机是并行的。
因此,我在互联网上的其他主题中找到了一篇文章,其中建议使用这个 Dosboxhttp://ykhwong.xy.net/并配置以下行:
[printer]
# printer: Enable printer emulation.
# dpi: Resolution of printer (default 360).
# width: Width of paper in 1/10 inch (default 85 = 8.5'').
# height: Height of paper in 1/10 inch (default 110 = 11.0'').
# printoutput: Output method for finished pages:
# png : Creates PNG images (default)
# ps : Creates Postscript
# bmp : Creates BMP images (very huge files, not recommend)
# printer : Send to an actual printer (Print dialog will appear)
# multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
# docpath: The path where the output files are stored.
# timeout: (in milliseconds) if nonzero: the time the page will
# be ejected automatically after when no more data
# arrives at the printer.
printer=true
dpi=360
width=85
height=110
printoutput=printer
multipage=false
docpath=.
timeout=0
[parallel]
# parallel1: parallel1-3 -- set type of device connected to lpt port.
# Can be:
# reallpt (direct parallel port passthrough),
# file (records data to a file or passes it to a device),
# printer (virtual dot-matrix printer, see [printer] section)
# Additional parameters must be in the same line in the form of
# parameter:value.
# for reallpt:
# Windows:
# realbase (the base address of your real parallel port).
# Default: 378
# ecpbase (base address of the ECP registers, optional).
# Linux: realport (the parallel port device i.e. /dev/parport0).
# for file:
# dev:<devname> (i.e. dev:lpt1) to forward data to a device,
# or append:<file> appends data to the specified file.
# Without the above parameters data is written to files in the capture dir.
# Additional parameters: timeout:<milliseconds> = how long to wait before
# closing the file on inactivity (default:500), addFF to add a formfeed when
# closing, addLF to add a linefeed if the app doesn't, cp:<codepage number>
# to perform codepage translation, i.e. cp:437
# for printer:
# printer still has it's own configuration section above.
# parallel2: see parallel1
# parallel3: see parallel1
# dongle: Enable dongle
parallel1=enabled dev:lpt1
parallel2=disabled
parallel3=disabled
dongle=false
但是,经过这些配置后,我无法打印我的程序,我无法更改这些编程,因为我没有源代码,可能是在快船。
答案1
您应该能够使用正确的配置修复 SVN-Daum 版本的 DOSBox 的打印问题http://ykhwong.xy.net/
以下是从 Windows 8.1 打印的正确配置文件的相关部分:
# Enable printer emulation in Windows using print dialog
# dosbox-SVN-Daum.conf
# C:\Program Files (x86)\DOSBox SVN-Daum\TOOLS\Run DOSBox configuration.bat
[printer]
# printer: Enable printer emulation.
# printoutput: Output method for finished pages:
# png : Creates PNG images (default)
# ps : Creates Postscript
# bmp : Creates BMP images (very huge files, not recommend)
# printer : Send to an actual printer (Print dialog will appear)
# multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
# timeout: (in milliseconds) if nonzero: the time the page will
# be ejected automatically after when no more data
# arrives at the printer.
printer=true
printoutput=printer
multipage=true
timeout=10000
[parallel]
# parallel1: parallel1-3 -- set type of device connected to lpt port.
# Can be:
# reallpt (direct parallel port passthrough),
# file (records data to a file or passes it to a device),
# printer (virtual dot-matrix printer, see [printer] section)
parallel1=printer
哇,你正在使用 Windows 打印对话框进行打印。就我个人而言,我喜欢先使用PrimoPDF然后在看到输出后进行打印。
让我困惑的是,这multipage=true
意味着你会被困在 Windows 的“后台打印”中,直到你点击CTRL+F2
。您可以使用足够的超时来解决此问题,该超时时间应超过程序输出页面之间的毫秒数。我的超时时间设置为 10 秒。
此外,一旦你使用 Windows 打印对话框在 SVN-DAUM DOSBox 上设置打印机,它就会被设置为该打印机,直到你重新启动 DOSBox(Ctrl-Alt-Home
)。
答案2
您可以尝试 DOSbox 的替代方案: http://schaars.nl/vDos.7z 您应该能够打印到 Windows 中配置的任何打印机。视频:http://www.youtube.com/watch?v=IIdtsvuDfr0
答案3
最初的 DosBox 的缺点是,它被设计为那些想要玩基于 DOS 的旧游戏的人的平台。在这种情况下,设计师从未想过提供打印机接口。相信我,我尝试了所有可能的方法,但一无所获。
然而,我发现这种方法虽然很笨拙,但却能起到作用:
检查您的 DOS 应用程序是否具有可打印为富文本 (.rtf) 文件或 PostScript (.ps) 文件。如果是,则打印到该文件,然后将文件加载到 Windows 8 应用程序中进行打印。我知道 Microsoft Word、WordPerfect x6 和 Open Office 将读取和解释富文本文件。Adobe Acrobat Professional 有一个程序可以将 PostSript 文件转换为 *.PDF 文件。然后从 Windows 8 应用程序打印。
正如我所说,虽然笨拙,但可行。
希望这可以帮助。