是否有人知道是否可以在Microsoft Print Spooler API的帮助下保留打印作业?
我想在将它发送到打印机之前保留它 这可能吗?
答案 0 :(得分:0)
这取决于您对打印过程的控制程度。 SetJob命令允许您暂停单个作业,但在将任何数据可能从端口发送到打印机之前,您需要进入。
当应用程序打印作业时,正常的打印路径会像
那样如果您可以在第一个WritePrinter路径之前获取SetJob命令,则可以在将任何数据发送到设备之前暂停作业。
不幸的是,如果你使用像C#PrintDocument类这样的东西,它会掩盖大部分内容,并且不提供获取调用SetJob命令所需的JobId参数和打印机句柄的任何方法。
答案 1 :(得分:0)
如果您正在使用AddJobW()和ScheduleJob(),那么是。
AddJobW()创建作业,ScheduleJob()触发它启动。 (有关示例代码,请参阅here。)
因此...