我目前有一个WPF C#应用程序,该应用程序基本上会加载XAML窗口控件,其中的填充信息,然后调用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();
我目前在Win7 x64计算机上的VS2015中使用WPF C#项目。