2010-08-09 44 views
2

我正在为Windows 7创建一个postscript打印机,它将接受打印作业并将它们转发给真正的打印机。它将在LAN中共享,并且可以从LAN计算机接收打印作业。我想知道打印作业是从哪台计算机上传出来的,然后再转发给打印机。我怎样才能做到这一点?打印作业本身是否有详细信息? 谢谢如何找到哪台计算机发送打印作业?

回答

3

看看GetJobEnumJobs假脱机API函数。他们都返回两个结构中的一个,JOB_INFO_1JOB_INFO_2。每个结构都包含一个pMachineName字段,它是创建打印作业的机器的名称。您可能会发现pinvoke.net以下链接有用。

http://www.pinvoke.net/default.aspx/Structures.JOB_INFO_1

http://www.pinvoke.net/default.aspx/winspool/EnumJobs.html

或者,你可能还需要考虑使用WMIWin32_PrintJob类。具体来说就是HostPrintQueue属性。

+0

非常感谢你我会检查这些并尽快回复。 – Zerone 2010-08-09 09:36:04

相关问题