印刷ジョブの監視を行えるかどうか模索しています。


.NETFramework4.0 & VisualStudio 2010 Expressを使いC#で開発しています。

PrintDocumentからPrint()をすると、Windowsに印刷ジョブを投げた時点で
処理が完了してしまい、PrintDocumentのEndイベントを拾っても、紙切れや
オフライン時のエラーを検知できないことに気がつきました。

PrintDocumentからPrint()を実行したあとに、印刷ジョブのステータス監視を行い、
紙切れやオフラインの通知をユーザーに返すためには、どうすればよいでしょうか?
また、紙切れが解消されたことを拾うことも、できるのでしょうか?

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/09/12 09:41:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4974ベストアンサー獲得回数2154

ポイント200pt

スプーラー API というのを使います。

FindFirstPrinterChangeNotification

FindNextPrinterChangeNotification


WIN32API の呼び出しになるので、どんな言語で実装してもあまり変わり映えしません。


# というか、C# のサンプルコードを見つけられてないだけなんですが (^^;



(追記)

一応、C# のサンプルを見つけました。

http://www.codeproject.com/KB/printing/PrinterQueueMonitor.aspx?display=Print


ただ、callback の書き方だったり、DLL のインポートの書き方が違うだけで、

API の使い方、という意味では、先にあげたリンクと同じ内容です。

id:gothedistance

ありがとうございます!

教えて頂いたリンクをあとで拝見させて頂きます!!

2011/09/07 18:43:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません