以下是问题:How do I retrieve a list or number of jobs from a printer queue?
我仍然纠结于如何针对一个特定的打印机,我目前只知道使用localprintserver类的名称。应用程序应该一次打印到多台机器上,并且需要单独监视所有打印后台处理程序。有谁能给我提供一个代码片段,演示如何仅使用打印机的名称实例化localprintserver对象?
提前谢谢!
编辑:添加了解决方案的代码片段:

private int GetNumberOfPrintJobs()
{
    LocalPrintServer server = new LocalPrintServer();
    PrintQueueCollection queueCollection = server.GetPrintQueues();
    PrintQueue printQueue = null;

    foreach (PrintQueue pq in queueCollection)
    {
        if (pq.FullName == PrinterName) //PrinterName is a classmember
            printQueue = pq;
    }

    int numberOfJobs = 0;
    if (printQueue != null)
        numberOfJobs = printQueue.NumberOfJobs;

    return numberOfJobs;
}

那毕竟不是那么难!

最佳答案

请尝试使用localprintserver.getprintqueue指定打印机名称。

09-26 22:56