【发布时间】:2011-03-29 02:13:55
【问题描述】:
我在教室实验室有一台网络打印机。我想记录每个学生打印了多少页。我想知道如何阅读 打印机池以获取学生打印时的页数。以下是我的想法:编写一个 Windows 服务来获取:
- 用户登录名
- 每次打印文档时打印的次数
- 将用户名+页数发送到远程数据库
我不知道的:
- 如何获取每次打印的页数
如果可能的话,我希望在 VB.NET 中完成这项工作。
谢谢。
【问题讨论】:
我在教室实验室有一台网络打印机。我想记录每个学生打印了多少页。我想知道如何阅读 打印机池以获取学生打印时的页数。以下是我的想法:编写一个 Windows 服务来获取:
我不知道的:
如果可能的话,我希望在 VB.NET 中完成这项工作。
谢谢。
【问题讨论】:
您可以使用 WMI 类 Win32_PrintJob 获取有关每个作业的信息。它有名为PagesPrinted 和TotalPages 的属性,希望能满足您的需求。它还具有其他可能相关的属性,例如 Status(如果您不想计算已删除或失败作业或类似作业中的页数)。
这篇文章有关于从VB.Net调用这个类的信息:
Interrogating your Printer Queries with WMI
请记住添加对System.Management 的引用,因为默认情况下不会将其添加到新项目中。
【讨论】: