我正在尝试在 C# 中创建一个方法来清空打印队列中的所有项目。下面是我的代码:
LocalPrintServer localPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministratePrinter);
PrintQueue printQueue = localPrintServer.GetPrintQueue(printerName);
if (printQueue.NumberOfJobs > 0)
{
printQueue.Purge();
}
当此代码在 localPrintServer 构造函数上运行时,应用程序会引发以下错误:“创建 PrintServer 对象时发生异常。Win32 错误:访问被拒绝。”
该构造函数有一些重载(包括不发送参数)。尝试其中任何一个,我都会越过那条线,但是当我到达 printQueue.Purge() 调用时,我会收到与上面列出的相同的访问被拒绝消息。
寻找有关如何/我可以做些什么来解决这个问题的建议。我可以从我的计算机中手动删除打印作业。我不确定应用程序是否以与我相同的访问权限运行,也不确定如何检查。