プリンターの電源が入っているかの確認

解決


あい  2003-06-19 17:24:53  No: 78375  IP: [192.*.*.*]

VB初心者です。
プリンターの電源が入っているかの確認ってできるのでしょうか?!

編集 削除
Say  2003-06-19 19:52:37  No: 78376  IP: [192.*.*.*]

OnlineかOfflineかなら、
PRINTER_INFO_2を用いてGetPrinterすれば
取れると思いますが・・・。

編集 削除
あい  2003-06-26 13:51:42  No: 78377  IP: [192.*.*.*]

ありがとうございます。
PRINTER_INFO_2を用いてGetPrinterで取得してみました。
statusでプリンターの状態を取得したのですが、電源が入っていても入っていなくても、いつも0です。
こんな感じで・・・。
        strMsg = "プリンタ名:" & typPrtInfo.pPrinterName & "、" & _
                 "ポート名:" & typPrtInfo.pPortName & "、" & _
                 "ドライバ名:" & typPrtInfo.pDriverName & "、" & _
                 "状態:" & typPrtInfo.Status
どうしたらわかるのでしょうか?!

編集 削除
岡田 之仁  2003-06-26 16:34:17  No: 78378  IP: [192.*.*.*]

実際のところ、プリンターの電源関係は、プリンタードライバーの
仕様で、ほぼ間違いなく、『ゼロ』が入るようです。

私も以前、これで困りました。

しかしながら、接続方法によっては、電源の関係が正常に取得できる
場合もあるようです。また、プリンターのメーカーにもよります。

パラレルで直接接続しているものでは、プリンタードライバーが正常
にステータスを返さないと、アプリは取りようがありません。

ネットワーク接続(プリンターにLANカードを搭載しているもの)
したプリンターでは、大抵は電源のステータスは取れます。

メ−カー的には、エプソンやキャノンの最近のものは取れるようです
が・・・プリンター監視用ユーティリティーをインストールし、常駐
していないと、正確なステータスが取れない・・・と言うこともあり
ます。

MS-DOSの時代では、プリンターポート(この場合は、I/Oポート)に
直接印字しないコード(00Hとか)を送り、プリンターストローブ信号
をON/OFFしたら、一瞬、BUSY信号がONすることで電源のON
状態を確認する・・・と言うのが裏技だったこともあります。

が、Windowsでは不可能で、デバイスドライバーを書かないと出来ない
ので、プリンターメーカーにステータスが正常に取れない・・・と文句
を言って、ドライバーの改訂や、ユーティリティーのバージョンアップを
要求するしかないのではとも考えます。

以上。

編集 削除
あい  2003-06-26 16:44:30  No: 78379  IP: [192.*.*.*]

わかりやすい説明、ありがとうございました。
いくらやってもゼロの訳がわかりました。

編集 削除
yumi  2003-07-02 15:52:29  No: 78380  IP: [192.*.*.*]

岡田 之仁 様
私もプリンター関係がよくわかりません。
用紙切れの確認も、PRINTER_INFO_2を用いてGetPrinterで確認出来るのでしょうか?
その場合も電源の確認のような事がおこりますか?

編集 削除
岡田 之仁  2003-07-03 07:43:24  No: 78381  IP: [192.*.*.*]

用紙切れ等も電源と同じくプリンタードライバーが正確な情報を
戻せない場合や、ECP・EPPのBIOSでのプリンターポー
トの設定が不備の場合、知ることは出来ません。

因みに、どこのプリンターで型式は何をお使いなのでしょうか?

もし差し支えないようでしたら、お知らせ下さい。

そのメーカーのホームページとかで情報として確認はできると
思いますので・・・

※  そのマシンのBIOS設定で、プリンターポートに接続していて
    各種情報が取れない場合、双方向通信のEPPやECP設定が為
    されていない場合も発生します。双方向設定にすれば、何の問題
    も無かったかのように情報が取れるようになりますので、一度、
    ご確認下さい。

以上。

編集 削除
yumi  2003-07-03 13:49:17  No: 78382  IP: [192.*.*.*]

テストは、Canon LASER SHOT LBP-1610  でやっています。
後々は、EpsonのTM−L90(レシートタイプ)です。

VB等始めたばかりで、ちょっと苦手で困ってます。

編集 削除