在C#.net

中调用PrintQueue.Pause()方法时拒绝访问 我正在尝试使用C#.NET visual studio 2008暂停一个Windows 7打印队列。我拥有完全的管理员权限,但是当我运行以下代码来暂停队列时,它表示访问被拒绝。请帮我。
        LocalPrintServer lps = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
        //PrintServer lps = new PrintServer("\\NOTEBOOK-CI3", PrintSystemDesiredAccess.AdministratePrinter);
        lps.Commit();
        PrintQueue queue = lps.GetPrintQueue(listBox1.SelectedItem.ToString());
        if (!queue.IsPaused)
            queue.Pause();

        queue.Commit();
        lps.Commit();
    
已邀请:
我有同样的问题,所以对我来说这是最好的解决方案:
PrintS = new PrintServer();
PrintQ = new PrintQueue(PrintS, PrinterName, PrintSystemDesiredAccess.AdministratePrinter);
PrintQ.Pause();
使用本地PDF打印机进行测试     
我不确定但是你试过把ѭ2改变为
PrinterServer
吗?请查看http://www.visualbasicask.com/visual-basic-language/printqueuepause.shtml。 他有完全相同的问题,可以通过使用
PrintSystemDesiredAccess.AdministrateServer
(你使用它)解决它。唯一的区别是你使用的是
LocalPrinterServer
而不是
PrinterServer
。     
您是否以4.0运行网站?当我们将网站从3.5升级到4.0 Framework时,我遇到了问题。 Print Purging功能在4.0 Framework中停止运行。最终,我最终创建了一个使用3.5框架的Web服务,并让4.0网站将要清除的打印机与3.5 Web服务进行通信。 (抱歉要复活这个帖子,这是我在寻找答案时偶然发现的一个主题。想想我会发布这个,如果它可以帮助那些遇到相同情况的人)     

要回复问题请先登录注册