文字列からプリンタを取得
using System; using System.Printing; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var queueByFullName = new PrintQueue(new LocalPrintServer(), LocalPrintServer.GetDefaultPrintQueue().FullName); Console.WriteLine(queueByFullName.FullName); Console.ReadKey(); } } }
PrintQueueクラスのコンストラクタにPrintServerクラスのインスタンスとプリンタの完全名(文字列)を渡すと取得出来る。
以下のようにインストールされていないプリンタ名を指定するとSystem.Printing.PrintQueueExceptionが発生する。
using System; using System.Printing; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //var queueByFullName = new PrintQueue(new LocalPrintServer(), LocalPrintServer.GetDefaultPrintQueue().FullName); var queueByFullName = new PrintQueue(new LocalPrintServer(), "Hoge"); Console.WriteLine(queueByFullName.FullName); Console.ReadKey(); } } }