在WPF应用程序中更改默认打印机

时间:2011-06-17 16:03:50

标签: c# wpf printing wmi

我正在寻找在WPF应用程序中更改默认打印机的最佳方法。以下是我们希望应用程序可以执行的步骤。

  1. 从下拉列表中选择一个映射到打印机名称的位置。
  2. 将默认打印机更改为映射名称。
  3. 启动IE并指向SSRS报告。
  4. 然后,用户将从IE打印报告,该报告将使用新的默认打印机
  5. 第二步是我正在寻求帮助。

    这是WMI的用例吗?如果是这样,关于该主题的任何资源都将是一个巨大的帮助。

    谢谢!

1 个答案:

答案 0 :(得分:7)

使用它:

var query = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"); 
var printers = query.Get();
string printerName = "Printer to set as default" ;
foreach(ManagementObject printer in printers) 
{ 
   if (printer["name"].ToString() == printerName.ToString()) 
   { 
      printer.InvokeMethod("SetDefaultPrinter", new object[] { printerName }); 
   } 
}