アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

パラレルポートを使って接続したローカルプリンタの
状態を取得する処理を作っています。

すぐに印字できる状態かどうかをチェックし、
印字可能であれば、印刷処理を行う、
ということをしたいのですが、APIがよくわかりません・・・

GetPrinterや、EnumJobs等をサンプルを見ながら、試してみました。
しかし、プリンタの電源を落としても、オフラインになりません。
[設定]-[プリンタ]で詳細表示にして状態を見ても「準備完了」となっています。

どうすれば、オフラインや、その他のエラー情報が取れるのでしょうか?

OSはWindows2000Proです。

よろしくお願いいたします。

A 回答 (2件)

>しかし、プリンタの電源を落としても、オフラインになりません。



OSのプリンタの一覧でも準備完了になってませんか?

状態は、正しく取れるプリンタと取れないプリンタがあります。プリンタドライバが準備完了と返しているのであれば、通常のAPIを使う方法では取りようがありません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>OSのプリンタの一覧でも準備完了になってませんか?
なっています。
そうなると、無理なのですか・・・

>通常のAPIを使う方法では取りようがありません。
なにか、他の手段を使えばとることも可能ということでしょうか?
ご教授いただけないでしょうか?

よろしくお願いいたします。

お礼日時:2005/01/19 10:09

>なにか、他の手段を使えばとることも可能ということでしょうか?


>ご教授いただけないでしょうか?

ドライバに組み込まれているプリンタ情報取得のためのインターフェイスをメーカーが公開していれば取れないことは無いと思いますが。

もちろんこんなことをするとドライバ依存のプログラムになりますが。

この回答への補足

プリンタのオフラインかどうかを判断する方法はメーカに問い合せ中なのですが、オンラインの場合の「用紙切れ」、「カバーオープン」等の情報を取る際の手順をご存知でしたら、ご教授いただきたいです。

OSのプリンタ一覧の情報を見ていても、例えばプリンタのカバーオープンをした場合、すぐに、プリンタ一覧の情報には反映されないですよね。
何かを印刷しようとした時初めて、「カバーオープン」を判断するようです。

ということは、チェックしたい時現在の状態を取るには、GetPrinterの前に何かする必要があるのでしょうか?

補足日時:2005/01/19 15:38
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/19 12:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!