如何使用 C# 检测在 Windows 窗口中发送到打印机的页面

本文关键字:打印机 何使用 检测 窗口 Windows | 更新日期: 2024-10-26 08:19:05

我想知道 c# 是否有能力检测打印作业何时发送到打印机。

我必须编写一个小程序来记录员工在我的公司打印了多少页,我想检测此活动并记录在数据库中。在他打印时递增值。

任何关于从哪里开始或阅读文档的指示都会非常有帮助

如何使用 C# 检测在 Windows 窗口中发送到打印机的页面

我建议查看System.Prinitng命名空间。我认为PrintJobStatus枚举包含您需要的信息。

Windows有一个叫做事件日志的东西,可以由C#应用程序读取。此日志包含有关系统上发生的情况的大量信息。您甚至可以查找具有与打印相关的 ID 的日志记录。ID 为 307、801 和 842 的事件可能都适合确定打印已完成,但请注意,单个打印可能会引发其中的几个事件,因此如果您保留所有事件的计数,则可能会产生误导(即只使用一个!

还可以在事件查看器中查看事件,并在应用程序和服务日志/Microsoft/Windows/PrintService/Operational 中找到这些事件。默认情况下不会记录它们(会有负载!),因此您可能必须启用日志记录,并且必须记住定期清除日志以防止其变得太大。