我想为Windows创build一个虚拟打印机驱动程序。 我应该从哪里开始? WDK有一些打印驱动程序的例子,但没有我可以使用的。 MSDN似乎不是很有帮助。
那里有很多虚拟打印机(主要是生成PDF文件),他们是怎么做到的?
任何指向我似乎错过的文档的链接表示赞赏。
谢谢。
当我做了它(大约12年前),我开始与postscript驱动程序示例,取代所有postscript特定的东西(在我的情况下,写入一个位图,而不是生成postscript命令)。
我还写了一个自定义打印监视器(驱动程序写入到后台打印程序,写入监视器):我的监视器写入文件,而不是写入并行端口。
但是,从那时起,打印机驱动程序体系结构和/或一组示例驱动程序可能已经改变。
你可以从微软(Microsoft MDT)看“微型驱动程序”的开发,这可能有助于根据你的确切需要。 如果您需要处理的端口(即:您将从现有的打印机驱动程序中获取数据并想要处理),则可以查看RedMon的源代码。 它不支持Vista / Win7,但可能会指出你在正确的方向。
本书可能会帮助您使用Windows®Driver Foundation开发驱动程序
我的链接列表
你提到的驱动程序之一是开源(GPL),也许你可以探索其来源或适应它: http : //www.pdfforge.org/products/pdfcreator/download
其他人已经提到PDFCreator。 这里是一个更具体的链接到他们的代码创建打印机,端口和监视器。 尽管在VB中,我可以把它作为一个更习惯于C ++的人,所以我想你也可以。 modPrinter.bas做腿部的工作。 从第28行开始,modMain.bas调用modPrinter.bas。
创建一个打印端口监视器,将该端口与打印机相关联,然后您将获得打印机驱动程序发送到端口的数据。
在Cpp中如何完成这个工作的例子,Java可以在这里找到: http : //www.mms-computing.co.uk/uk/co/mmscomputing/device/printmonitor/index.php