读取打印机池以获取正在打印的页数

时间:2010-08-12 18:10:47

标签: c# vb.net printing

我在教室实验室里有一台网络打印机。我想记录每个学生打印的页数。我想知道如何阅读 打印机池以获取学生打印时的页数。以下是我的想法:编写Windows服务以获取:

  1. 用户登录名
  2. 每次打印文档时打印的数量
  3. 将用户名+页数发送到远程数据库
  4. 我不知道的是:

    1. 每次打印时如何获取页数
    2. 如果可能的话,我希望在VB.NET中看到这一点。

      感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用WMI类Win32_PrintJob来获取有关每个作业的信息。它具有名为PagesPrintedTotalPages的属性,可以满足您的需求。它还有其他属性,如Status,也可能是相关的(如果您不想计算已删除或失败的作业或类似的页面)。

本文提供了有关从VB.Net调用此类的信息:
Interrogating your Printer Queries with WMI

请记住添加对System.Management的引用,因为默认情况下不会将其添加到新项目中。