我尝试编写用于查找打印机状态的代码以打印 pdf 格式的水晶报告。我有以下甜甜圈:
单击水晶报表中的打印按钮后如何触发代码?是否有任何事件(点击)来检查打印机状态?
当打印机处于开盖、无纸、开盖无纸、关机、开机、预热等不同模式时,属性有何变化?它究竟返回的数值是多少?不同类别打印机(惠普激光打印机、佳能等)的返回值是否有任何变化?
如何在成功打印报告后显示“成功”消息?
请澄清任何一个。
我尝试编写用于查找打印机状态的代码以打印 pdf 格式的水晶报告。我有以下甜甜圈:
单击水晶报表中的打印按钮后如何触发代码?是否有任何事件(点击)来检查打印机状态?
当打印机处于开盖、无纸、开盖无纸、关机、开机、预热等不同模式时,属性有何变化?它究竟返回的数值是多少?不同类别打印机(惠普激光打印机、佳能等)的返回值是否有任何变化?
如何在成功打印报告后显示“成功”消息?
请澄清任何一个。
您可以将System.Management与Win32_Printer类一起使用来查询打印机信息。
还有Win32_PrintJob,您可以枚举它以确定给定作业何时完成。该Status
属性可以为您提供有关打印机状态的额外粒度。您可以监控这些对象的创建和删除 - 这将为您提供新的和已完成的作业信息。
此处列出的其他打印机类。
您需要编写一个ObjectQuery。“从 Win32_PrintJob 中选择 *”。然后您必须使用ManagementObjectSearcher和 ManagementObjectCollection 来获取打印队列中的项目数。
您可以使用“SELECT * FROM Win32_Printer”来获取打印机状态