2010-05-13 27 views
0

我使用Windows API的EnumJobs来查找打印作业的PageCount和副本,但是我发现这些字段在打印服务器上调用时几乎总是为零。EnumJobs不返回副本和总页数

虽然可能是我的计时已经结束,因为随着作业打印页数增加,一旦完成,打印作业无法访问。所以EnumJobs中的值在消失之前是正确的,大约有半纳秒。

我一直在网上搜寻,但找不到任何帮助,只有其他人有类似的问题。

任何有EnumJobs经验的人或可以建议其他方法来确定打印总页数?

+0

你不能。从打印机制造商那里寻找软件,从打印机本身吸取这些信息。 – 2010-05-13 13:54:41

+0

我知道这是可能的,它是在API中定义的,它在本地桌面上运行,所有其他信息都在那里,而不是页面计数和副本。 也有很多印刷审计软件,正是这样做的每页,驱动程序和打印机独立计费。 Windows在打印作业列表中显示它很好,但会报告api中的值不正确。 – 2010-05-13 14:15:22

回答

0

发现它!

在客户端,在设备和打印机上,右键单击任意打印机,然后选择打印机属性,然后单击共享选项卡。勾选“渲染客户端计算机上的打印作业”。这将导致事件在服务器线轴上触发。如果您运行的是Server 2008,则可以在服务器上执行此操作,并且会影响所有客户端作业。

要设置编程或了解更多信息:

http://msdn.microsoft.com/en-us/library/ff556443.aspx