1

我正在用 c++ 开发一个程序,用于管理所有发送到我公司打印机的文档。我正在使用 windows spool api 来捕获有关发送到打印机的作业的信息。我需要捕获一些关于哪个应用程序打印了作业(Word、Libre Office 等)的信息。有谁知道是否可以通过 spool 的任何功能或通过另一个提供此信息的 dll 来获取此信息?

4

1 回答 1

0

如果您可以找出正在执行打印的线程的 ID 或句柄,您可以将其追溯到进程,然后可能会获得可执行文件名称。

但是我在 EnumJobs 或文档事件中看不到任何有用的东西(除了用户名),所以我认为通过普通的 API 是不可能的。

使用 Detours,或者一些钩子,你也许可以做到这一点,但我没有任何细节。

于 2014-09-24T17:28:55.387 回答