フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: NT系のOSで「MS-DOSベースの16bitアプリケーション」からネットワークプリンタへ印刷を行う
DEKO
管理者
投稿数: 2691
NT系のOSで「MS-DOSベースの16bitアプリケーション」からネットワークプリンタへ印刷を行う
on: 2013/04/06 08:23 Sat

XPでMS-DOSアプリケーションを動かす事はまずないだろうが、XPで16bitアプリケーションを動かす事はあるかもしれない。
そしてそのアプリケーションが印刷のために「COPY ABC.TXT LPT1:」とか「TYPE ABC.TXT > LPT1:」 なんてやってると困った事になる。

今時、オフィスでネットワークプリンタを使わない所もないだろうし。これらがバッチファイルで書かれているのなら 「LPT1:」の部分をネットワークプリンタ名に書き換えてやればいいのだが、実行ファイル内でリダイレクトとかされてるとそういう訳にも行かず、プリン タをローカル接続しなくてはならなくなってしまう。

それを回避するのがコレ。

[プリントサーバのプリンタをLPT1に割り当てる]
NET USE LPT1: \\<サーバ名>\<共有プリンタ名> /persistent:yes

 

[LPT1に割り当てられているプリンタを解除]
NET USE LPT1: /DELETE

 
これで「LPT1:」にリダイレクト(or コピー)されているプログラムやバッチファイルが動作する。
<サーバ名>はもちろんIPアドレスでも構わない。<共有プリンタ名>は「マイネットワーク」から見えるプリンタ名で あり、「プリンタとFAX」で見えているプリンタ名ではない。

Windowsで共有されているプリンタであれば、プリンタのプロパティを出して「共有」タ グで名前を確認できる。
割り当てられたプリンタポートはPCの電源を切っても再ログオン時にプリンタ割り当てを復元する(「/DELETE」を実行するま で有効)。
なお、「/persistent:no」オプションを指定すればログオン時のプリンタ割り当てを復元しなくなる。

See Also:
[パラレルポートに出力していた内容をUSBポートに出力するようにしたい。 ]
https://forums.embarcadero.com/thread.jspa?threadID=80915&tstart=50

DEKO
管理者
投稿数: 2691
BuffaloのLPV2シリーズのような「マイネットワーク」から見えないプリントサーバの場合はどうするのか?
on: 2013/04/06 08:29 Sat

答えは簡単。自分自身の共有プリンタを割り当てればいいのだ。

1.プリントサーバに繋がっているプリンタを普通に追加する。
2.これを共有する。
3.「NET USE LPT1: \\<自分のコンピュータ名>\<共有プリンタ名> /persistent:yes」を実行する。

「NET USE LPT1: \\127.0.0.1\PRINTER01 /persistent:yes」のようにもできるが、できるだけループバックアドレスは控えた方がいいだろう。
素直にIPアドレスかコンピュータ名を指定した方がいい。

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.022 sec.