我有一个服务应用程序,可以生成由于用户操作而打印的文件。如果用户选择“打印到文件”的打印机,则服务挂起,等待提供文件名。无论如何我能检测到我要打印的打印机是将数据发送到文件而不是设备吗?
答案 0 :(得分:1)
检查连接到队列的端口的名称。如果名称为“FILE:”,则窗口将显示一个询问输出文件名的对话框。
用户当然也可以使用一些自定义的第三方端口监视器,在这种情况下,您需要通过窗口/对话框进行处理,并检查是否有模态对话框等待用户输入。
如果是V4打印机驱动程序,您还可以查看DriverCategory,如果它是PrintFax.Fax,PrintFax.Printer.File,PrintFax.Printer.Virtual,...