Я пытаюсь создать метод на C #, который очищает все элементы в очереди печати. Ниже мой код:
LocalPrintServer localPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministratePrinter);
PrintQueue printQueue = localPrintServer.GetPrintQueue(printerName);
if (printQueue.NumberOfJobs > 0)
{
printQueue.Purge();
}
Когда этот код запускается в конструкторе localPrintServer, приложение выдает следующую ошибку: «Исключение произошло при создании объекта PrintServer. Ошибка Win32: доступ запрещен»
Этот конструктор имеет несколько перегрузок (включая отправку параметров). Пробуя любой из них, я обхожу эту строку, но когда я перехожу к вызову printQueue.Purge (), я получаю такое же сообщение об отказе в доступе, как указано выше.
Ищу предложения, как / что я могу сделать, чтобы обойти это. Я могу вручную удалить задания на печать со своего компьютера. Я не уверен, работает ли приложение с тем же доступом, что и у меня, и как это проверить.