近日用到 System.Printing 命名空间下的PrintQueue 类来判断打印机状态,当检测到打印机出现类似缺纸张,缺墨等状态时候,需要删除打印队列中的所有打印作业PrintQueue.Purge()  //移除打印队列中的所有作业
执行到此就报错:清除队列时发生异常,win32错误 拒绝访问代码如下:..........
..........
           //发送打印任务
PrintServer myPS = new PrintServer();//获取本机安装的所有打印机
PrintQueueCollection myPrintQueues = myPS.GetPrintQueues();
foreach (PrintQueue pq in myPrintQueues)
            {              
                pq.Refresh();
                if (pq.IsOffline)
                {                
                    this.label1.Text = "打印机脱机,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsOutOfPaper)
                {
                    this.label1.Text = "打印机缺纸,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsPaused)
                {
                    this.label1.Text = "打印机暂停,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsNotAvailable)
                {
                    this.label1.Text = "打印机不可用,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsInError)
                {
                    this.label1.Text = "打印机设备出错,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsTonerLow)
                {
                   this.label1.Text = "打印机缺少墨粉,请联系维护人员!";
                    pq.Purge();
                }
                if (pq.IsPaperJammed)
                {                    this.label1.Text = "打印机夹纸,请联系维护人员!";
                    pq.Purge();
                }              
              
            }
        
请高手指教!!谢谢各位