在窗户中 - >打印机和设备 - >实际的打印队列有(最后一个)列名为Port like here
启用打印机池时,会显示文档正在打印的端口名称(对于真实打印机),如第一个c:\ ports \ p1,第二个c:\ ports \ p2(或port_2121和port_2122 ...等) 。 我想获得相同的信息。
我检查了Enumjobs和JOB_INFO_1 - 4结构,其中没有一个是port或portname成员。 我测试过,pPrinterName也一样。因此,即使从那一侧也可以访问它。
任何想法我怎么能得到作业打印的端口? (就像打印队列一样)
THX
答案 0 :(得分:1)
您可以使用带有FindNextPrinterChangeNotification
字段的JOB_NOTIFY_FIELD_PORT_NAME
函数执行此操作。启用打印机池并且一个端口为buzy时,可以更改此值
答案 1 :(得分:0)
可以从PRINTER_INFO_2结构中检索端口名称。 JOB_INFO结构有一个名为pPrinterName的字段,您可以使用此字段来获取打印机的PRINTER_INFO_2结构。
这是一个例子: http://www.swissdelphicenter.ch/en/showcode.php?id=1909
以下是PRINTER_INFO_2的详细信息:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd162845(v=vs.85).aspx