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

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

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

第二步是我正在寻求帮助。

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

谢谢!

用这个:

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 }); } }