当用户从任何应用程序打印时,是否有一种方法可以检测文件的文件名?我正在寻找一个窗口应用程序接口,我可以确定正在打印的文件。
发布于 2011-02-01 19:48:05
打印jibs是使用名称打开的,但通常这并不意味着文件名-我相信打印队列中显示的名称可以通过直接查询打印机驱动程序来访问。
发布于 2011-03-01 21:33:28
打印机驱动程序没有任何用于查找文件名的外部API。我假设您正在考虑创建某种systray代理之类的应用程序,该应用程序将监视正在发送的作业的打印队列。如果是的话-
文件的名称
希望这能有所帮助。如果是,请投票a +1 :)
发布于 2014-06-28 10:12:40
不,没有,至少不可靠。请记住,可能根本没有文件名。例如,我可以打开记事本之类的应用程序,键入一些内容,然后打印出来。我打印的是什么文件?没有。
在上面的场景中,大多数应用程序都会提供某种类型的默认文件名,比如"untitled",有时您可以通过解析打印作业的名称来找到该名称。例如,如果调用GetJob
,JOB_INFO_1
结构的pDocument
成员将包含一个指向打印作业名称的指针,而该名称通常包含文件名。
但是,每个应用程序的格式都不同,有些应用程序根本不提供。因此,答案是您可以花费大量精力在75%的时间内找到文件名,但根本没有100%的解决方案。
https://stackoverflow.com/questions/4862053
复制相似问题