c# - Win32_PrintJobからページの総数を取得します

c# .net windows printing wmi

Win32_PrintJob WMIクラスには、多くのプロパティがあります。 (参照:Win32_PrintJob on MSDN)

印刷ジョブを極化し、ジョブの情報を表示する小さな.NETアプリケーションがあります。

TotalPagesプロパティは、送信されたページの量を示します。ただし、この数値では、ユーザーが要求したコピーの数は考慮されていません。したがって、ユーザーが2ページのドキュメントを5部印刷する場合、TotalPagesの値は10ではなく2になります。

印刷ジョブの部数を取得したり、印刷するページの合計数(部数にジョブのページ数を掛けたり)を取得するにはどうすればよいですか?

ありがとう
答え
Win32_PrintJobで同じ問題が発生しました(TotalPages / PagesPrintedは部数を考慮していません)。 WMIとWin APIを組み合わせて解決しました。

コピー数は、DEVMODE構造の一部であるJOB_INFO_2構造(dmCopies)から取得できます。

したがって、Level = 2でGetJobを呼び出すと、JOB_INFO_2インスタンスが取得されます。そこからは、簡単なマーシャリングです:)。

お役に立てれば。

乾杯、

ルーカス
関連記事

c# - LINQクエリ、特定の小数点のある結果を無視

c# - HtmlTextWriter.WriteAttributeを単一引用符で行う方法は?

c# - DbConnection.GetSchema(“ Tables”)は、1つのデータベースのテーブルのみを返します

c# - Facebook C#SDK-壁に投稿

c# - 生成されたデータリーダーを使用したグリッドビューの並べ替えとページング

c# - 順不同のログファイルでの検索

c# - TabControlでの画像の配置に関する問題

c# - このクラスを一般的なクラスに変えることは可能ですか?

c# - 端末(Windows-CE)が5分後にシャットダウンしないようにする方法

c# - 要素の1つを取得、変更、保存できるようにするために、関連する値のリストを保存するために使用する必要があるもの