web-dev-qa-db-ja.com

レガシーアプリケーションとDosbox

Windows XPまでのDOSでのみ動作するレガシーアプリケーションがありますが、他のソフトウェアがあるため、最近はWindows8を使用したいと思います。このレガシーアプリケーションはlpt1ポートを使用して印刷しますが、Dosboxでは以下を使用してlpt1ポートを構成できません。

 Net Use lpt1 \\<mynetworkpc>\<printer> /persistent:yes

注:プリンターは並列です。

したがって、インターネット上の他のトピックで、このDosboxを使用するように言っている記事を見つけました http://ykhwong.x-y.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

しかし、これらの構成の後、プログラムを印刷することができなくなり、おそらくClipperでプログラムされたソースコードがないため、これらのプログラミングを変更できません。

1
João Cota

http://ykhwong.x-y.net/ から、正しい構成でDOSBoxのSVN-Daumバージョンに印刷を修正できるはずです。

Windows8.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 を使用してPDFに印刷し、出力が表示されたら印刷するのが好きです。

私をつまずかせたのは、multipage=trueは、CTRL+F2を押すまでWindowsで「スプーリング」がスタックすることを意味します。これは、プログラムからのページ出力の間に発生するミリ秒数を超える十分なタイムアウトで修正できます。私は10秒に設定しました。

また、Windowsの印刷ダイアログボックスを使用してSVN-DAUM DOSBoxにプリンターを一度設定すると、DOSBoxを再起動するまでそのプリンターとして設定されます(Ctrl-Alt-Home)。

1
Derek R. Austin

DOSboxの代わりを試すことができます: http://schaars.nl/vDos.7z YouldはWindowsで構成されたすべてのプリンターに印刷できるはずです。ビデオ: http://www.youtube.com/watch?v=IIdtsvuDfr

1
Jos Schaars

オリジナルのDosBoxの欠点は、古いDOSベースのゲームをプレイしたい人のためのプラットフォームとして設計されていることです。その場合、設計者はプリンタインターフェイスを提供することを考えたことはありませんでした。私を信じて、私は可能な限りあらゆる方法を試しましたが、どこにも行きませんでした。

しかし、せいぜい不器用ですが、これは機能することがわかりました。

DOSアプリケーションをチェックして、リッチテキスト(。rtf)ファイルまたはPostScript(。ps)ファイルに印刷するプリンタードライバーがあるかどうかを確認します。含まれている場合は、それに印刷してから、ファイルをWindows8アプリケーションにロードして印刷します。 Microsoft Word、WordPerfect x6、およびOpenOfficeがリッチテキストファイルを読み取って解釈することを知っています。 Adobe Acrobat Professionalには、PostSriptファイルを* .PDFファイルに変換するプログラムがあります。次に、Windows8アプリケーションから印刷します。

私が言ったように、不器用ですが実行可能です。

お役に立てれば。

0
Ælfstangard