我在C#里获取打印队列PrintQueue时,调用暂停打印Pause、恢复打印Resume、取消打印Purge时,报了Win32错误:拒绝访问的错误,请问这是什么原因呢?
示例代码如下:
using (PrintServer ps = new PrintServer())
{
using (PrintQueue pq = new PrintQueue(ps, "打印机名称", PrintSystemDesiredAccess.AdministratePrinter))
{
pq.Pause();
}
}
在new PrintQueue时就报了这个错,如果使用如下代码:
PrintServer myPrintServer = new PrintServer();
PrintQueueCollection myPrintQueues = myPrintServer.GetPrintQueues();
foreach (PrintQueue pq in myPrintQueues)
{
pq.Refresh();
if (pq.IsPaused == false)
{
pq.Pause();
}
}
则在pq.Pause()执行时报拒绝访问的错。
请问这是什么原因引起的呢?
new PrintQueue(ps, "打印机名称", PrintSystemDesiredAccess.AdministratePrinter)
改成
new PrintQueue(ps, "打印机名称")