【发布时间】:2011-08-01 09:29:53
【问题描述】:
我正在寻找一种从特定打印机获取作业列表或数量的方法。在最好的情况下,我希望有一个“作业对象”,它代表一个打印作业及其在打印队列中的名称。
这是必需的,因为我需要监控打印机的状态,这样我就可以用一批新文档重新填充打印队列,而不会溢出打印后台处理程序
提前致谢!
编辑:添加解决方案的代码片段
private int GetNumberOfPrintJobs()
{
LocalPrintServer server = new LocalPrintServer();
PrintQueueCollection queueCollection = server.GetPrintQueues();
PrintQueue printQueue = null;
foreach (PrintQueue pq in queueCollection)
{
if (pq.FullName == PrinterName)
printQueue = pq;
}
int numberOfJobs = 0;
if (printQueue != null)
numberOfJobs = printQueue.NumberOfJobs;
return numberOfJobs;
}
【问题讨论】: