旧版应用程序和 Dosbox

旧版应用程序和 Dosbox

我有一个旧版应用程序,只能在 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 应用程序打印。

正如我所说,虽然笨拙,但可行。

希望这可以帮助。

相关内容