【问题标题】:How to find printer status?如何查看打印机状态?
【发布时间】:2010-11-15 16:36:45
【问题描述】:

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

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

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

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

请澄清任何一个。

【问题讨论】:

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


    【解决方案1】:

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

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

    列出的其他打印机类here

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-12-27
        • 1970-01-01
        • 1970-01-01
        • 2021-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多