C# 如何查找打印机状态?

C# 如何查找打印机状态?,c#,pdf,crystal-reports,crystal-reports-export,C#,Pdf,Crystal Reports,Crystal Reports Export,我试图写一个代码来查找打印机的状态,以打印pdf格式的crystal报表。我有以下优点: 单击crystal report中的“打印”按钮后,如何激发代码?是否有任何事件(单击)检查打印机状态 当打印机处于打开盖子、无纸、打开盖子和无纸、开关关闭、打开、预热等不同模式时,属性会发生哪些变化。?它确切返回的数值是什么?不同分类打印机(hp激光打印机、佳能等)的返回值是否有任何变化 成功打印报告后,如何显示消息“Success” 请澄清任何一项。您可以使用该类查询打印机信息 还有,您可以枚举它以确定

我试图写一个代码来查找打印机的状态,以打印pdf格式的crystal报表。我有以下优点:

  • 单击crystal report中的“打印”按钮后,如何激发代码?是否有任何事件(单击)检查打印机状态

  • 当打印机处于打开盖子、无纸、打开盖子和无纸、开关关闭、打开、预热等不同模式时,属性会发生哪些变化。?它确切返回的数值是什么?不同分类打印机(hp激光打印机、佳能等)的返回值是否有任何变化

  • 成功打印报告后,如何显示消息“Success”

  • 请澄清任何一项。

    您可以使用该类查询打印机信息

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

    列出了其他打印机类别。

    您需要编写一个。“从Win32_打印作业中选择*”。然后,您必须使用r和ManagementObjectCollection获取printqueue中的项目计数

    您可以使用“从Win32_打印机选择*”获取打印机状态