C#(.Net Framework)のプログラムから、プリンタ一覧とデフォルトプリンタを取得する方法です。
.Net Frameworkでプリンタの情報を取得するには、System.Printingパッケージを使用します。
System.Printingパッケージは標準では使用できないため、以下のように、参照設定でSystem.Printingを追加する必要があります。
パッケージの追加を行ったら、以下のコードでシステムに登録されているプリンタ情報が取得できます
private void button1_Click( object sender, EventArgs e ) { textBox1.Text = ""; //------------------------------- // デフォルトプリンタを取得する //------------------------------- PrintQueue defaultPrinter = new LocalPrintServer().DefaultPrintQueue; //------------------------------------------- // PCに登録されているプリンタを全て列挙する //------------------------------------------- foreach (PrintQueue queue in ( new PrintServer() ).GetPrintQueues() ) { // プリンタ名を取得する string printerName = queue.FullName; // 処理しているプリンタがデフォルトの時は、その事を通知 if ( printerName.Equals ( defaultPrinter.FullName ) ) { printerName += " [デフォルトプリンタ]"; } // プリンタ名を出力 textBox1.AppendText( printerName + Environment.NewLine ); } } |
プログラムを実行してみた結果が、以下の画面になります。
プリンタのプロパティで確認したプリンタ一覧と見比べると、正しくプリンタの情報が取得できている事が分かります。
関連記事
コメントを残す