В настоящее время у меня есть приложение 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.