Microsoft Print Spooler APIを使用して印刷ジョブを保持できるかどうかを知っている人はいますか?
プリンターに送る前に保留したいのですが。
これは可能ですか?
Microsoft Print Spooler APIを使用して印刷ジョブを保持できるかどうかを知っている人はいますか?
プリンターに送る前に保留したいのですが。
これは可能ですか?
AddJobW() と ScheduleJob() を使用している場合は、はい。
AddJobW() がジョブを作成し、ScheduleJob() が開始をトリガーします。(サンプル コードについては、こちらを参照してください。)
そう...
これは、印刷プロセスをどの程度制御できるかによって異なります。SetJob コマンドを使用すると、個々のジョブを一時停止できますが、データがポートからプリンターに送信される可能性がある前に、一時停止する必要があります。
アプリケーションがジョブを印刷するとき、通常の印刷パスは次のようになります
最初の WritePrinter パスの前に SetJob コマンドを取得できれば、データがデバイスに送信される前にジョブを一時停止できます。
残念ながら、C# の PrintDocument クラスのようなものを使用している場合、このほとんどがわかりにくくなり、SetJob コマンドを呼び出す必要がある JobId パラメータとプリンタ ハンドルを取得する方法が提供されません。