我一直在使用 Python 的win32print模块来尝试获取有关打印机集的各种信息,例如驱动程序名称、作业计数、正在使用的端口、状态等。它大多是成功的,但是我遇到了很多麻烦使用 win32print 从 API 返回的状态码。
我一直在使用 win32print.GetPrinter 方法,它返回一个 PRINTER_INFO_ 字典,其中一个映射是 Status。但是,没有记录什么状态代码对应于什么打印机状态。似乎 0 是空闲的,1 是暂停的,但除此之外我不确定这意味着什么。
当我查找 windows 32 位 API 的常量值时,我找到了这个页面,但我得到的状态代码似乎都与它不匹配。很多时候,我得到一个状态码,比如 1052800(从 Epson 打印机得到那个),它不在 win32api 常量的列表中。
我也尝试过使用 WMI 模块来做到这一点,但成功率更低。
我想获取打印机缺纸、打印机门打开、碳粉不足、卡纸等的打印机状态代码。有没有人有任何提示可以在哪里找到这些状态代码的含义,甚至是查找打印机状态的更好解决方案完全地?