我目前正在编写一个打印监视器应用程序以在打印服务器上运行。请求如下:
当用户在特定应用程序上打印时,需要有关启动打印作业的应用程序的信息。在监视打印机队列时,它会为我提供用户信息和许多其他内容,但无法找到有关启动打印作业的应用程序的信息。
问题是:
是否有 C#/.NET 方法来找出哪个应用程序(例如 winword、excel 等)启动了打印作业?
此信息是否存储在 PrintQueue 或 printspooler 或其他任何地方?如何使用 System.Printing 命名空间或 Win32Api 来完成?
有任何想法吗?