-1

ドキュメントを特定の順序で印刷する必要があります。そのために、shellExecute API を使用してドキュメントを印刷します。

一部のドキュメントは印刷の方が速い場合があるため、別の shellExecute を呼び出す前に、ドキュメントがスプーラーに入るのを待つ必要があります。

そのために、FindFirstPrinterChangeNotification、waitForSingleObject、および FindNextPrinterChangeNotification を使用します。

それは正常に動作します。ただし、shellExecute によって開始されたアプリケーションが既に開いている場合は、Windows のデフォルト プリンターである別のプリンターで印刷される可能性があります。(通常使うプリンターが変更された場合)

すべてのプリンターを監視できますが、どのプリンターが開始されたプロセスを使用しているかを知り、このプリンターを監視したいと思います。

shellExecuteEx を使用すると、この API によって開始されたプロセスへのハンドルを取得できます。

それで、プロセスによってデフォルトで使用されるプリンターを知る方法はありますか?

4

1 に答える 1

0

では、プロセスによってデフォルトで使用されるプリンターを知る方法はありますか?

いいえ、ありません。プログラムには、既定のプリンターを決定するために選択したロジックを使用する権利があります。したがって、一般に、問題のプロセスに関するより具体的な知識がなければ、プロセスが使用するプリンターを尋ねる方法はありません。

于 2014-10-03T10:21:52.490 に答える