Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
会社のプリンターに送信されるすべてのドキュメントを管理するプログラムを C ++ で開発しています。Windows スプール API を使用して、プリンターに送信されるジョブに関する情報を取得しています。ジョブを印刷したアプリケーション (Word、Libre Office など) に関する情報を取得する必要があります。スプールの関数によって、またはこの情報を提供する別の dll を介してこの情報を取得できるかどうかを知っている人はいますか?
印刷を実行しているスレッドの ID またはハンドルを特定できれば、それをプロセスまでさかのぼって追跡し、おそらく実行可能ファイル名を取得できます。
しかし、EnumJobs やドキュメント イベントには (ユーザー名以外に) 役立つものは何も表示されないため、通常の API では不可能だと思います。
Detours または何らかのフックを使用すると、これを実行できる可能性がありますが、詳細はわかりません。