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