我正在寻找支持打印的 dosbox 版本 我看到了这个问题的答案在 Dosbox 中使用打印机但我没能成功
答案1
您应该能够使用正确配置的 SVN-Daum 版本的 DOSBox 进行打印http://ykhwong.xy.net/
这是从 Windows 8.1 打印的正确配置文件的相关部分,假设您想要打印到 USB(使用打印对话框)而不是实际的 LPT 点阵打印机。
# Print from DOSBox using Windows 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 打印对话框进行打印。我个人从 DOS 打印到PrimoPDF然后在看到输出的 PDF 后进行打印。
让我感到困惑的是,这multipage=true
意味着你将卡在 Windows 中的“后台打印”状态,直到你按下 DOSBox 的“立即打印”热键CTRL+F2
。您可以使用足够的超时来解决此问题。您需要此超时来超过程序打印每页之间的毫秒数。我的超时设置为 10000 毫秒(10 秒)。
顺便说一句,您使用 Windows 打印对话框在 SVN-DAUM DOSBox 上设置打印机一次。然后它就是默认打印机,打印对话框不会再提示您。当您重新启动 DOSBox 时,默认打印机会重置(Ctrl-Alt-Home
)。
答案2
尝试使用 DOSBox Megabuild 6
要打印到本地打印机,请尝试在 DOSBox.conf 中执行这些设置
并行1=reallpt parallel2=禁用 parallel3=禁用
它适用于我的 Windows 7 Ultimate x64
答案3
使用 Windows 程序打印文件。
启动时运行程序
"C:\Program Files (x86)\PrintFile\prfile32.exe" /s C:\SPOOL\
这将导致程序Printfile
驻留并监视目录C:\SPOOL
(您需要创建此目录),并且写入此目录的任何文件都将被发送到打印机。
注意:文件打印后将被删除。
然后,在您的 DOS 程序中,writeln(lst, )
用写入文件C:\SPOOL\TRASH.PCL
或TRASH.TXT
(文件的名称并不重要 - 我称之为“垃圾”)替换任何打印或语句,并在关闭文件后将Printfile
文件发送到打印机。
我发现它和在 Windows XP 中打印到 LPT1 一样好用。(我很遗憾看到它消失)。
答案4
echo Hello world! ^L > LPT1
(这不是CtrlL(^
插入符号)而是L
)
这样应该会打印Hello world!
并将页面吐出到连接到 LPT1 的打印机上。至于打印到 USB 打印机……忘掉它吧。对于使用 Windows 网络共享的联网打印机,您可以将打印机“捕获”到端口 (LPT1-3) 并遵循相同/相似的语法。
Dosbox默认版本不包含任何对并行端口的支持。有第三方版本添加了这些功能。其中一个版本可在此处找到:http://home.arcor.de/hal-9000/