0

我尝试编写用于查找打印机状态的代码以打印 pdf 格式的水晶报告。我有以下甜甜圈:

  1. 单击水晶报表中的打印按钮后如何触发代码?是否有任何事件(点击)来检查打印机状态?

  2. 当打印机处于开盖、无纸、开盖无纸、关机、开机、预热等不同模式时,属性有何变化?它究竟返回的数值是多少?不同类别打印机(惠普激光打印机、佳能等)的返回值是否有任何变化?

  3. 如何在成功打印报告后显示“成功”消息?

请澄清任何一个。

4

2 回答 2

1

您可以将System.ManagementWin32_Printer类一起使用来查询打印机信息。

还有Win32_PrintJob,您可以枚举它以确定给定作业何时完成。该Status属性可以为您提供有关打印机状态的额外粒度。您可以监控这些对象的创建和删除 - 这将为您提供新的和已完成的作业信息。

此处列出的其他打印机类。

于 2010-11-15T16:53:00.730 回答
1

您需要编写一个ObjectQuery。“从 Win32_PrintJob 中选择 *”。然后您必须使用ManagementObjectSearcher和 ManagementObjectCollection 来获取打印队列中的项目数。

您可以使用“SELECT * FROM Win32_Printer”来获取打印机状态

于 2010-11-15T16:59:56.417 回答