我正在尝试使用在 Delphi 2007 中使用 shellExecute 启动的一些 Pdf 阅读器打印几个 PDF 文件。
这种方法的可靠性可能不是很好,因为实际打印可能由于多种原因而失败。我想知道我的程序是否有办法知道文件是否或何时实际发送到打印后台处理程序?
我正在尝试使用在 Delphi 2007 中使用 shellExecute 启动的一些 Pdf 阅读器打印几个 PDF 文件。
这种方法的可靠性可能不是很好,因为实际打印可能由于多种原因而失败。我想知道我的程序是否有办法知道文件是否或何时实际发送到打印后台处理程序?
要监视打印机作业,您可以使用传入参数的FindFirstPrinterChangeNotification
API 调用。这将让您知道每次作业数据通过.PRINTER_CHANGE_WRITE_JOB
fdwFilter
FindNextPrinterChangeNotification
完成后,不要忘记调用FindClosePrinterChangeNotification
关闭所有手柄并进行清理。
使用会变得相当复杂。TeamB的Peter below 博士在一个名为PBPrintersMonitorU.pas
. 如果您有EDN(Embarcadero 开发者网络)帐户,您可以在此处找到它。