樓主 2015-10-21 03:58 采纳率: 0%
浏览 2896

PrintQueue.Purge()报Win32错误:拒绝访问

我在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()执行时报拒绝访问的错。

        请问这是什么原因引起的呢?
  • 写回答

1条回答 默认 最新

  • haibin_hu 2018-02-13 01:10
    关注

    new PrintQueue(ps, "打印机名称", PrintSystemDesiredAccess.AdministratePrinter)
    改成
    new PrintQueue(ps, "打印机名称")

    评论

报告相同问题?

悬赏问题

  • ¥20 关于php中URL传递GET全局变量的问题
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件