PrintVisual не будет печататься, если не запущен от имени администратора - PullRequest
0 голосов
/ 29 января 2019

В настоящее время у меня есть приложение WPF C #, которое в основном загружает элемент управления XAML Window, заполняет его информацией и затем вызывает PrintVisual ();

В Windows 10 эта операция обычно работает для обычного пользователя (ограниченное разрешение).Однако в Windows 7 PrintVisual зависает и не печатает, если приложение не имеет прав для запуска от имени администратора.

Все машины с Windows 7 обновлены до последней версии.

Вот мой вопрос;почему PrintVisual требует прав администратора для печати?Нужно ли использовать другую технику при работе в Windows 7?

(Мысль о методе Graphic.CopyFromScreen для обхода административных привилегий ...)

Ниже приведен фрагмент кода, в котором заключается проблема.

BinLocation bl = new BinLocation();   // A Windows control object
PrintDialog dlg = new PrintDialog();  // API from System.Windows.Controls
LocalPrintServer prtSrv = new LocalPrintServer();  // API from System.Printing
PrintQueue pq = prtSrv.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local }).Where(w => w.Name.Contains("QL-500") && !w.IsOffline).FirstOrDefault();
if (pq != null) dlg.PrintQueue = pq;
bl.Show();
// Problem here with Win7 Standard user, code hangs and refuse to raise exception. using System.Windows.Media.Visual
dlg.PrintVisual(bl, "");
bl.Close();

В настоящее время я использую проект WPF C # в VS2015 на компьютере с Win7 x64.

...