以编程方式在打印机上获取打印机队列

时间:2018-03-09 13:05:41

标签: c# windows printing

我使用福昕阅读器将大量文档打印到打印机。在某些时候,打印机开始“优化”文档队列,搞砸我的打印订单(并且没有选项可以停用它)。

所以,我需要的是来自打印机的反馈,告诉我“我的队列中有10个文件”或“我还有100页要打印”,所以我可以等待进一步的打印命令。

打印后台处理程序不会缓冲我的文档,因此查询它对我没有任何帮助。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

正如我发现有一些叫做SNMP的东西,你可以在网络中查询很多不同的设备。

我了解到,有一个名为SnmpSharpNet (also available on Nuget)的库可以帮助您查询数据 - 最简单的方法就是这样(查询打印页面的总数):

SimpleSnmp snmp = new SimpleSnmp("192.168.1.3", "public");

if (!snmp.Valid)
    return;

Dictionary<Oid, AsnType> result = snmp.Get(SnmpVersion.Ver1, new string[] { ".1.3.6.1.2.1.43.10.2.1.4.1.1" });

如果您想查询不同的数据,可以查看&#34; OID&#34;。