VB初心者です。
プリンターの電源が入っているかの確認ってできるのでしょうか?!
OnlineかOfflineかなら、
PRINTER_INFO_2を用いてGetPrinterすれば
取れると思いますが・・・。
ありがとうございます。
PRINTER_INFO_2を用いてGetPrinterで取得してみました。
statusでプリンターの状態を取得したのですが、電源が入っていても入っていなくても、いつも0です。
こんな感じで・・・。
strMsg = "プリンタ名:" & typPrtInfo.pPrinterName & "、" & _
"ポート名:" & typPrtInfo.pPortName & "、" & _
"ドライバ名:" & typPrtInfo.pDriverName & "、" & _
"状態:" & typPrtInfo.Status
どうしたらわかるのでしょうか?!
実際のところ、プリンターの電源関係は、プリンタードライバーの
仕様で、ほぼ間違いなく、『ゼロ』が入るようです。
私も以前、これで困りました。
しかしながら、接続方法によっては、電源の関係が正常に取得できる
場合もあるようです。また、プリンターのメーカーにもよります。
パラレルで直接接続しているものでは、プリンタードライバーが正常
にステータスを返さないと、アプリは取りようがありません。
ネットワーク接続(プリンターにLANカードを搭載しているもの)
したプリンターでは、大抵は電源のステータスは取れます。
メ−カー的には、エプソンやキャノンの最近のものは取れるようです
が・・・プリンター監視用ユーティリティーをインストールし、常駐
していないと、正確なステータスが取れない・・・と言うこともあり
ます。
MS-DOSの時代では、プリンターポート(この場合は、I/Oポート)に
直接印字しないコード(00Hとか)を送り、プリンターストローブ信号
をON/OFFしたら、一瞬、BUSY信号がONすることで電源のON
状態を確認する・・・と言うのが裏技だったこともあります。
が、Windowsでは不可能で、デバイスドライバーを書かないと出来ない
ので、プリンターメーカーにステータスが正常に取れない・・・と文句
を言って、ドライバーの改訂や、ユーティリティーのバージョンアップを
要求するしかないのではとも考えます。
以上。
わかりやすい説明、ありがとうございました。
いくらやってもゼロの訳がわかりました。
岡田 之仁 様
私もプリンター関係がよくわかりません。
用紙切れの確認も、PRINTER_INFO_2を用いてGetPrinterで確認出来るのでしょうか?
その場合も電源の確認のような事がおこりますか?
用紙切れ等も電源と同じくプリンタードライバーが正確な情報を
戻せない場合や、ECP・EPPのBIOSでのプリンターポー
トの設定が不備の場合、知ることは出来ません。
因みに、どこのプリンターで型式は何をお使いなのでしょうか?
もし差し支えないようでしたら、お知らせ下さい。
そのメーカーのホームページとかで情報として確認はできると
思いますので・・・
※ そのマシンのBIOS設定で、プリンターポートに接続していて
各種情報が取れない場合、双方向通信のEPPやECP設定が為
されていない場合も発生します。双方向設定にすれば、何の問題
も無かったかのように情報が取れるようになりますので、一度、
ご確認下さい。
以上。
テストは、Canon LASER SHOT LBP-1610 でやっています。
後々は、EpsonのTM−L90(レシートタイプ)です。
VB等始めたばかりで、ちょっと苦手で困ってます。
ツイート | ![]() |