如何检测连接的USB打印机是打开还是关闭?

我想打印之前检测打印机是否处于联机/脱机状态。 如果它处于脱机状态 - 打印对话框将不可见。

Win32 API的“OpenPrinter”等似乎在假脱机程序队列上工作,而不是在打印机本身上工作,并且只会在发送文档离线报告打印机,这为时已晚。

问题 :如何确定打印机是否脱机/联机,而不发送打印件?

编辑:

Offline - printer is turned off
OnLine  - printer is turned On

想必你知道打印机的名称或其他细节。

那么,只需使用PRINTER_INFO_2使用EnumPrinters并检查PRINTER_STATUS_OFFLINE (或任何其他您希望避免的状态)。

或者,您可以尝试使用SetupDi*函数(又名安装程序API)来确定在此刻是否连接了与打印机匹配的USB设备。


我不认为这是可能的。

正如您已经发现这是使用假脱机程序抽象出来的,假脱机程序状态并不总是反映打印机状态。

所以这是在Windows中设计的。

如果您只有一种特定的打印机类型,您可以查询它是否连接到USB。

链接地址: http://www.djcxy.com/p/56269.html

上一篇: How to detect if a connected USB printer is on or off?

下一篇: Server not Recognising Cookie From Android Phone