2

我正在寻找一种方法来连接机器上的所有打印作业。

我们有一些运行 Windows XP 的 Kiosk 计算机,我们希望允许客户进行打印。我们希望能够捕获打印作业,因为它被发送到打印机,分析它,向用户显示打印价格的对话框,如果他批准 - 将作业发送到打印机。

如果他不同意,就必须取消工作。

我的第一个想法是使用钩子。但是有打印作业的钩子吗?它是如何使用的?

也有人提到PCL(Printer Command Language),意思是我们为本地打印机驱动写一个包装器。这有多难?我在哪里可以找到 PCL 的好教程?

PJL(打印机作业语言)呢?

目标语言是c++。

您的意见将不胜感激。

谢谢,夏日灯泡

4

1 回答 1

2

您可以使用WMI来获取有关使用Win32_PrintJob.

创建作业后,立即调用Pause它以暂停,显示您的 GUI。如果客户端接受该作业,则调用Resume以实际打印文件。

有关处理 WMI 通知的 C++ 示例,请参阅示例:通过 WMI 接收事件通知。

于 2011-08-24T10:17:22.760 回答