ドキュメントを特定の順序で印刷する必要があります。そのために、shellExecute API を使用してドキュメントを印刷します。
一部のドキュメントは印刷の方が速い場合があるため、別の shellExecute を呼び出す前に、ドキュメントがスプーラーに入るのを待つ必要があります。
そのために、FindFirstPrinterChangeNotification、waitForSingleObject、および FindNextPrinterChangeNotification を使用します。
それは正常に動作します。ただし、shellExecute によって開始されたアプリケーションが既に開いている場合は、Windows のデフォルト プリンターである別のプリンターで印刷される可能性があります。(通常使うプリンターが変更された場合)
すべてのプリンターを監視できますが、どのプリンターが開始されたプロセスを使用しているかを知り、このプリンターを監視したいと思います。
shellExecuteEx を使用すると、この API によって開始されたプロセスへのハンドルを取得できます。
それで、プロセスによってデフォルトで使用されるプリンターを知る方法はありますか?