delphi - 来自 Windows 的文件打印反馈

标签 delphi

我正在尝试使用一些在 Delphi 2007 中使用 shellExecute 启动的 Pdf 阅读器来打印多个 PDF 文件。

这种方法的可靠性可能不是很好,因为实际打印可能会由于多种原因而失败。我想知道是否有办法让我的程序知道文件是否或何时实际发送到打印后台处理程序?

最佳答案

要监视打印机作业,您可以使用 FindFirstPrinterChangeNotificationfdwFilter 参数中传递 PRINTER_CHANGE_WRITE_JOB 的 API 调用。每次通过 FindNextPrinterChangeNotification 将作业数据写入打印机时,这都会让您知道。

完成后,别忘了调用 FindClosePrinterChangeNotification关闭所有 handle 并清理。

使用可能会变得相当复杂。 Peter Below 博士 TeamB不久前,在旧的 Borland Code Central 页面(现在可以在 Embarcadero 站点上找到)的一个名为 PBPrintersMonitorU.pas 的单元中发布了一个对此进行包装的单元。可以找到here ,如果您有 EDN (Embarcadero 开发者网络)帐户。

关于delphi - 来自 Windows 的文件打印反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046060/

相关文章:

windows - Delphi 中的 Sqrt 函数

delphi - 如何使 TPopupmenu 透明?

Delphi Loadlibrary 返回 0 (LastErrorcde=3221225616) 这是什么意思?

delphi - 如何自定义Hint Font.Size?

arrays - 动态数组导致无效指针异常

Delphi - 当表单的 ComponentCount 递减时如何中断

delphi - 我可以创建一个与自身类型相同的对象吗?

delphi - 用户在 TStringGrid 中编辑单元格

delphi - 如何像那里一样正确发送 POST 请求?

delphi - 如何在 Delphi 中防止 ProcessMessages