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

Cha*_*iga 7 windows delphi usb winapi

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

Win32 API的"OpenPrinter"等似乎可以在假脱机程序队列上运行,而不是打印机本身,并且只会在发送文档离线报告打印机,这太迟了.

问题:如何在不发送打印件的情况下判断打印机是否处于离线/在线状态?

编辑:

Offline - printer is turned off
OnLine  - printer is turned On
Run Code Online (Sandbox Code Playgroud)

Jen*_*off 0

我认为这是不可能的。

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

这是 Windows 的设计初衷。

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