Спасибо Рэю за большую помощь.
Следующий метод отлично подходит для выбора принтера.Очередь принтера захватывается, когда пользователь нажимает «Печать» в диалоговом окне печати.
public PrintQueue SelectPrinter()
{
var dialog = new PrintDialog();
if (dialog.ShowDialog() == true)
{
if (dialog.PrintQueue != null)
return dialog.PrintQueue;
}
return null;
}
Очередь печати может использоваться при печати нескольких документов;
...
var startInfo = new ProcessStartInfo
{
CreateNoWindow = true,
Verb = "printTo",
FileName = filePath,
Arguments = printQueue.FullName, // <-- here
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
};
var p = Process.Start(startInfo);
...