プリンタ状態を取得する方法とオフラインの確認

このQ&Aのポイント
  • パラレルポートを使って接続したローカルプリンタの状態を取得する方法についてです。プリンタの状態をチェックし、印字可能かどうかを確認して印刷処理を行いたいと思っています。
  • プリンタのAPIであるGetPrinterやEnumJobsを使用して状態を取得する方法を試しましたが、プリンタの電源を落としてもオフラインになりませんでした。詳細表示でも「準備完了」と表示されています。
  • Windows2000Proを使用しています。プリンタのオフライン状態やその他のエラー情報を取得する方法について教えていただきたいです。
回答を見る
  • ベストアンサー

プリンタの状態を取得したいです

お世話になります。 パラレルポートを使って接続したローカルプリンタの 状態を取得する処理を作っています。 すぐに印字できる状態かどうかをチェックし、 印字可能であれば、印刷処理を行う、 ということをしたいのですが、APIがよくわかりません・・・ GetPrinterや、EnumJobs等をサンプルを見ながら、試してみました。 しかし、プリンタの電源を落としても、オフラインになりません。 [設定]-[プリンタ]で詳細表示にして状態を見ても「準備完了」となっています。 どうすれば、オフラインや、その他のエラー情報が取れるのでしょうか? OSはWindows2000Proです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>しかし、プリンタの電源を落としても、オフラインになりません。 OSのプリンタの一覧でも準備完了になってませんか? 状態は、正しく取れるプリンタと取れないプリンタがあります。プリンタドライバが準備完了と返しているのであれば、通常のAPIを使う方法では取りようがありません。

sunasaka3
質問者

お礼

ご回答ありがとうございます。 >OSのプリンタの一覧でも準備完了になってませんか? なっています。 そうなると、無理なのですか・・・ >通常のAPIを使う方法では取りようがありません。 なにか、他の手段を使えばとることも可能ということでしょうか? ご教授いただけないでしょうか? よろしくお願いいたします。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>なにか、他の手段を使えばとることも可能ということでしょうか? >ご教授いただけないでしょうか? ドライバに組み込まれているプリンタ情報取得のためのインターフェイスをメーカーが公開していれば取れないことは無いと思いますが。 もちろんこんなことをするとドライバ依存のプログラムになりますが。

sunasaka3
質問者

お礼

プリンタ固有の処理になってしまうのですね・・・ とりあえず、早速オンラインかどうかを取得する方法については、プリンタのメーカーにAPIやライブラリの提供がないかを問い合せてみました。 ありがとうございました。

sunasaka3
質問者

補足

プリンタのオフラインかどうかを判断する方法はメーカに問い合せ中なのですが、オンラインの場合の「用紙切れ」、「カバーオープン」等の情報を取る際の手順をご存知でしたら、ご教授いただきたいです。 OSのプリンタ一覧の情報を見ていても、例えばプリンタのカバーオープンをした場合、すぐに、プリンタ一覧の情報には反映されないですよね。 何かを印刷しようとした時初めて、「カバーオープン」を判断するようです。 ということは、チェックしたい時現在の状態を取るには、GetPrinterの前に何かする必要があるのでしょうか?

関連するQ&A

  • プリンターをオンライン状態にできない。

    DCP-J925Nを昨日までは問題なく使用できていたのですが、今朝になって印刷ができなくなっていました。いろいろとやってみたのですがステータスモニター「オフライン状態です」を変更することができませんでした。「通常使うプリンターに設定」にチェックが入っており、「プリンターをオフラインで使用する」にはチェックが入っていません。ドライパーの再インストール、再起動を繰り返し「プリンター準備完了」表示は出るのですが、ステータスモニターをオンラインにできないでいます。 ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • プリンタの状態が、準備完了のままです

    2年位、PCとセットで購入をしたプリンタを使っていました。 最近何度か、USBケーブルを抜き差ししたりしていたら、プリンタがオフラインで使用となっていました。 コントロールパネルから、プリンタを探して、オフラインという状態を準備完了にしましたが、 印刷できません。 印刷すると、エラーという表示が出てしまいます。 紙もインクも入っています。 何とか朝までに印刷したいものがあります。 分かる方、よろしくお願いします。 NECのパソコン XP NEC PICTY860 Printer を使っています。よろしくお願いします。

  • プリンタのIPアドレス取得方法

    API関数を使用して、プリンタのIPアドレスを 取得しようと考えています。 自分なりに調べたのですが、ポート名などは取得できるのですが、IPアドレスは取得不可なのでしょうか? IPアドレス取得方法を教えてください。 よろしくお願いします。 開発環境はC#です。

  • プリンタとジョブのステータスの取り方について

    お世話になります。 パラレルポートを使って接続したローカルプリンタの 状態を取得する処理を作っています。 ↓以下のサイトを参考に作っています。 http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/160/1/29.asp 説明文には、 「プリント キューにジョブがないときには、プリンタは状態を報告しません。」 や、 「スプーラが、プリンタ装置に印刷ジョブの送信を試みる必要があるということです。送信してみないと、ポート モニタからプリンタのステータスが報告されません。」 とあります。 今回、印刷前に現在のプリンタの状態をチェックし、問題がなければプリンタへ送信ということをしたいので、 チェックをする段階では、ジョブがない可能性があります。 ですので、チェックの際にダミーの印刷ジョブを送信すればよいのでは、と考えたのですが、実際に印刷されては困るので、どのようなデータを送信してよいのかわかりませんでした。 実際に印刷は行わずに、プリンタの現在のステータスを取れる状態とするには、どうすればよいのでしょうか? ダミーデータ送信の場合は、どのようなデータとすればよいのでしょうか? よろしくお願いいたします。

  • プリンタの設定について

    通常使うプリンタに設定しているプリンタ(Canonip3300)が何回(何日)か使っていると、表示が「準備完了」から「オフライン」に勝手になってしまいます。また、そこで設定をオンラインにして「準備完了」として印刷をするとエラーになって印刷ができません。その後、USBを接続し直したり、再起動したりなどを何度か繰り返しているとようやく印刷ができるようになるのですが、また数日たつとオフラインになっていて同じようにすぐには印刷ができなくなってしまいます。 どこかの故障なのか、設定が悪いのかもわかりません。原因もしくは直す方法があったら教えてください。よろしくお願いします。

  • プリンタの状態を知る方法

    只今、VB6のDataReportを使って帳票を作成しています。1つの雛型を使って、 複数のレポートを連続印刷しようとしていますが、DataReportとFormが非同期で あるため、DataReportがまだ帳票をプリンタに吐き出し終わっていないうちに、次の帳票を作ろうとしてしまい、エラーが出てしまいます。 色々調べて、MoveMemoryなるAPIを使ってプリンタの状態(印刷中、とかスプール中とか)を取得しようとしていますが、それもエラーがでてしまいます。 どうしたら、上手にプリンタの状態を知ることが出来るでしょうか? もしくは、非同期で動いているもの同士の同期を取るような方法がありましたら ぜひ教えてください。 よろしくお願いします。

  • セントロニクスを使用したプリンタ出力

    WINDOWS系のOSで、パラレルポートを使用したプリンタ出力をしたいのですが、 どのような方法で実現できるのでしょうか。 サンプルソースなどを開示しているHPなどがあれば 併せて教えていただければ幸いです。

  • プリンターが動きません

    OSはWINDOWS MEでプリンターはCANON BJ F210ですが突然動かなくなってしまいました。エラーメッセージはプリンターとの通信が出来ない状態になっていますというのとプリンターの準備が出来ていませんとありましたので次の点を確認してみました。 1.プリンターの電源   ---> 入っています。 2.PCとの接続状態   ---> しっかり接続されています。 3.ポート   ---> 変更をしていませんのでLTP1のままで、間違いないと思います。 4.インクカートリッジ   ---> 正常にセットされています。 5.ライン   ---> どうもオフラインになっているようですが、どのように操作したら      オンラインになるのでしょうか? コンピューターには余り詳しくありませんのでわかりやすくご指導頂けるようお願い致します。

  • オフライン状態で困っています。

    Windows7,EPSONのEP-804AWを使用していますが、 パソコンの電源をいれた直後はプリンターが準備完了になっているのに しばらくするとすぐにオフラインになってしまい印刷できません。 プリンターでセットアップから接続診断を行いましたが問題ありません。 どうしたらいいでしょうか?

  • プリンタの追加ウィザードのエラー(新しいポートの作成)

    XP Pro SP2 「プリンタの追加ウィザード」 「プリンタポートの選択」 「新しいポートの作成」 ここで、「Local Port」を選択し、 「ポート名を入力してください」の画面で任意のポート名を入力すると必ず 「指定されたポートを追加できません。操作を完了できませんでした。」 というメッセージが出てきて困っています。 (abcとかzzzとか他と重複しないようなものを試してみました) 解決に向けてのアドバイスをお願いします。

専門家に質問してみよう