Изменить принтер по умолчанию в приложении WPF - PullRequest
4 голосов
/ 17 июня 2011

Я ищу лучший способ изменить принтер по умолчанию в приложении WPF.Вот шаги, которые, как мы надеемся, может выполнить приложение.

  1. Выберите из раскрывающегося списка местоположение, сопоставленное с именем принтера.
  2. Измените принтер по умолчанию насопоставленное имя.
  3. Запустите IE и укажите отчет SSRS.
  4. Затем пользователь распечатает отчет из IE, который будет использовать новый принтер по умолчанию

Шаг второй:что я ищу помощи.

Это вариант использования для WMI?Если это так, любые ресурсы по этой теме будут огромной помощью.

Спасибо!

1 Ответ

7 голосов
/ 17 июня 2011

используйте это:

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