.NET TIPS

インストールされているすべてのプリンタの名前を取得するには?[C#、VB]

デジタルアドバンテージ 一色 政彦
2007/08/02

 本TIPSでは、コンピュータに(ドライバが)インストールされているすべてのプリンタの名前を文字列で取得する方法を説明する。

 これには、PrinterSettingsクラス(System.Drawing.Printing名前空間)の静的プロパティであるInstalledPrintersを活用すればよい。

 InstalledPrintersプロパティからはPrinterSettings.StringCollectionクラス(System.Drawing.Printing名前空間)*1のオブジェクトを取得できる。このオブジェクトは文字列のコレクションを格納しており、その1つ1つの文字列がプリンタ名である。なお、コレクションから個々の文字列を取得するには、foreach(C#の場合。Visual BasicではFor Each)などの繰り返しステートメントによる反復処理を用いればよい。

*1 PrinterSettings.StringCollectionクラスは、PrinterSettingsクラスの中に存在する入れ子クラス(=インナー・クラス)である。

 次のコンソール・アプリケーションのサンプル・プログラムでは、実際にforeach(For Each)キーワードを使って、InstalledPrintersプロパティから1つずつプリンタ名を文字列で取得して、それをコンソール出力している。

using System;
using System.Drawing.Printing;

class Program
{
  static void Main()
  {
    foreach (string printer
      in PrinterSettings.InstalledPrinters)
    {
      Console.WriteLine(printer);
    }
  }
}
Imports System.Drawing.Printing

Module Module1

  Sub Main()

    For Each printer As String _
      In PrinterSettings.InstalledPrinters

      Console.WriteLine(printer)
    Next

  End Sub

End Module
プリンタ名を列挙するコンソール・アプリケーションのプログラム・コード(上:C#、下:VB)
このアプリケーションをビルドするためには、「System.Drawing.dll」ファイルへの参照をあらかじめ追加しておく必要がある。

 このサンプル・アプリケーションを筆者の環境で実行すると、次のようなコンソール出力が得られた。

\\daburncd\hp deskjet 955c series
\\daburncd\RICOH IPSiO Color 2200
\\server01\DeskJet955C
\\server01\IPSiO Color 2200
\\server01\LP-7900
\\server01\PM-890C
\\takaxpht2\EPSON PX-G900
Microsoft XPS Document Writer
Microsoft Office Document Image Writer
サンプル・プログラムの実行結果の例

 このように、(プログラムが実行される)コンピュータにインストールされているプリンタの名前が簡単に取得できる。End of Article

カテゴリ:Windowsフォーム 処理対象:印刷
カテゴリ:クラス・ライブラリ 処理対象:印刷

この記事と関連性の高い別の.NET TIPS
Listの各要素を処理するには?[C#/VB]
文字列を1文字ずつ解析するには?(サロゲート文字対応)
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間