【发布时间】:2012-08-20 16:41:30
【问题描述】:
我一直在使用 Python 的 win32print 模块来尝试获取有关打印机集的各种信息,例如驱动程序名称、作业计数、正在使用的端口、状态等。它大多是成功的,但是我在使用 win32print 从 API 返回的状态码时遇到很多麻烦。
我一直在使用 win32print.GetPrinter 方法,它返回一个 PRINTER_INFO_ 字典,其中一个映射是 Status。但是,没有记录什么状态代码对应于什么打印机状态。好像0是空闲的,1是暂停的,除此之外我不知道是什么意思。
当我查找 Windows 32 位 API 的常量值时,我找到了 this page,但我得到的所有状态代码似乎都与此匹配。很多时候,我得到一个像 1052800 这样的状态码(从 Epson 打印机得到的),它不在 win32api 常量的列表中。
我也尝试过使用 WMI 模块来做到这一点,但成功率更低。
我想获取打印机缺纸、打印机门打开、碳粉不足、卡纸等的打印机状态代码。有没有人知道在哪里可以找到这些状态代码的含义,甚至是更好的解决方案完全找到打印机状态?
【问题讨论】:
标签: python windows winapi printing wmi