- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プリンタの状態を取得したいです)
プリンタ状態を取得する方法とオフラインの確認
このQ&Aのポイント
- パラレルポートを使って接続したローカルプリンタの状態を取得する方法についてです。プリンタの状態をチェックし、印字可能かどうかを確認して印刷処理を行いたいと思っています。
- プリンタのAPIであるGetPrinterやEnumJobsを使用して状態を取得する方法を試しましたが、プリンタの電源を落としてもオフラインになりませんでした。詳細表示でも「準備完了」と表示されています。
- Windows2000Proを使用しています。プリンタのオフライン状態やその他のエラー情報を取得する方法について教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>しかし、プリンタの電源を落としても、オフラインになりません。 OSのプリンタの一覧でも準備完了になってませんか? 状態は、正しく取れるプリンタと取れないプリンタがあります。プリンタドライバが準備完了と返しているのであれば、通常のAPIを使う方法では取りようがありません。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.2
>なにか、他の手段を使えばとることも可能ということでしょうか? >ご教授いただけないでしょうか? ドライバに組み込まれているプリンタ情報取得のためのインターフェイスをメーカーが公開していれば取れないことは無いと思いますが。 もちろんこんなことをするとドライバ依存のプログラムになりますが。
質問者
お礼
プリンタ固有の処理になってしまうのですね・・・ とりあえず、早速オンラインかどうかを取得する方法については、プリンタのメーカーにAPIやライブラリの提供がないかを問い合せてみました。 ありがとうございました。
質問者
補足
プリンタのオフラインかどうかを判断する方法はメーカに問い合せ中なのですが、オンラインの場合の「用紙切れ」、「カバーオープン」等の情報を取る際の手順をご存知でしたら、ご教授いただきたいです。 OSのプリンタ一覧の情報を見ていても、例えばプリンタのカバーオープンをした場合、すぐに、プリンタ一覧の情報には反映されないですよね。 何かを印刷しようとした時初めて、「カバーオープン」を判断するようです。 ということは、チェックしたい時現在の状態を取るには、GetPrinterの前に何かする必要があるのでしょうか?
お礼
ご回答ありがとうございます。 >OSのプリンタの一覧でも準備完了になってませんか? なっています。 そうなると、無理なのですか・・・ >通常のAPIを使う方法では取りようがありません。 なにか、他の手段を使えばとることも可能ということでしょうか? ご教授いただけないでしょうか? よろしくお願いいたします。