Delphi 2007 で shellExecute を使用して起動した PDF リーダーを使用して、いくつかの PDF ファイルを印刷しようとしています。
実際の印刷はいくつかの理由で失敗する可能性があるため、このようなアプローチの信頼性はあまり高くない可能性があります。ファイルが実際に印刷スプーラに送信されるかどうか、またはいつ送信されるかをプログラムが知る方法があるかどうか疑問に思っています。
Delphi 2007 で shellExecute を使用して起動した PDF リーダーを使用して、いくつかの PDF ファイルを印刷しようとしています。
実際の印刷はいくつかの理由で失敗する可能性があるため、このようなアプローチの信頼性はあまり高くない可能性があります。ファイルが実際に印刷スプーラに送信されるかどうか、またはいつ送信されるかをプログラムが知る方法があるかどうか疑問に思っています。
プリンター ジョブを監視するには、パラメーターで渡されたFindFirstPrinterChangeNotification
API 呼び出しを使用できます。これにより、ジョブ データが 経由でプリンタに書き込まれるたびに通知されます。PRINTER_CHANGE_WRITE_JOB
fdwFilter
FindNextPrinterChangeNotification
FindClosePrinterChangeNotification
完了したら、 を呼び出してすべてのハンドルを閉じ、クリーンアップすることを忘れないでください。
使用はかなり複雑になる可能性があります。TeamBの Dr. Peter Below は、以前の Borland Code Central ページ (現在 Embarcadero サイトで利用可能) に戻って、これをラップするユニットを というユニットに投稿しましたPBPrintersMonitorU.pas
。EDN (Embarcadero Developers Network) アカウントを持っている場合は、ここで見つけることができます。