2

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();
4

3 に答える 3

5

私は同じ問題を抱えていたので、これが最善の解決策でした:

PrintS = new PrintServer();
PrintQ = new PrintQueue(PrintS, PrinterName, PrintSystemDesiredAccess.AdministratePrinter);
PrintQ.Pause();

ローカルの PDF プリンターでテスト済み

于 2013-06-03T13:17:02.360 に答える
1

よくわかりませんが、に変更しようとしLocalPrinterServerましたPrinterServerか? http://www.visualbasicask.com/visual-basic-language/printqueuepause.shtmlをご覧ください。
彼はまったく同じ問題を抱えていて、 PrintSystemDesiredAccess.AdministrateServer(あなたが使っている)を使って解決することができました。唯一の違いは、LocalPrinterServerの代わりに を使用していることですPrinterServer

于 2010-10-02T15:29:15.730 に答える