如何查找打印机状态?

时间:2010-11-15 16:36:46

标签: c# pdf crystal-reports crystal-reports-export

我尝试编写一个代码来查找打印机的状态,以打印pdf格式的水晶报告。我有跟随面团:

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

  2. 当打印机处于打开状态,没有纸张,打开盖子,没有纸张,打开,打开,预热等不同模式时,有哪些属性会发生变化?它确切返回的数值是多少?不同的纸质打印机(惠普激光打印机,佳能等)的返回值是否有任何变化?

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

  4. 请澄清任何人。

2 个答案:

答案 0 :(得分:1)

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

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

列出的其他打印机类here

答案 1 :(得分:1)

你需要写一个ObjectQuery。 “从Win32_PrintJob中选择*”。然后你必须使用ManagementObjectSearche r和ManagementObjectCollection来获取printqueue中的项目数。

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