我想为Windows创建一个虚拟打印机驱动程序。应该从哪里开始? WDK中有一些打印驱动程序示例,但它们不适合入门。对于新手来说,MSDN似乎也没有太大的帮助。
现在有很多虚拟打印机用于Windows(大多数生成PDF),我想知道如何做到这一点。
如果有详细的文档链接,将不胜感激。
谢谢。
我想为Windows创建一个虚拟打印机驱动程序。应该从哪里开始? WDK中有一些打印驱动程序示例,但它们不适合入门。对于新手来说,MSDN似乎也没有太大的帮助。
现在有很多虚拟打印机用于Windows(大多数生成PDF),我想知道如何做到这一点。
如果有详细的文档链接,将不胜感激。
谢谢。
当我(大约12年前)这样做时,我从后置驱动程序示例开始,替换了所有后置特定的内容(在我的情况下,将其写入位图而不是生成后置命令)。
我还编写了一个自定义打印监视器(驱动程序将数据写入到汇聚器,然后再由监视器写入),我的监视器将数据写入文件而不是并口等设备。
然而,打印机驱动程序的架构和/或示例驱动程序集可能已经发生改变。
您可以查看微软的“minidriver”开发(Microsoft MDT),具体取决于您的需求。如果您需要处理的端口(即:您将从现有打印机驱动程序中获取数据并想要处理)您可以查看RedMon的源代码。它不支持Vista/Win7,但可能会指引您正确的方向。
这本书可能会对您有所帮助:使用Windows®驱动程序基础开发驱动程序
我的链接列表:
你提到的其中一个驱动程序是开源(GPL),也许你可以探索其源代码或进行适应:http://www.pdfforge.org/products/pdfcreator/download
已经有人提到了PDFCreator。这里是一个更具体的链接,他们的代码正在创建打印机、端口和监视器。尽管它是用VB编写的,但作为一个更习惯于C++的人,我也能够理解它。 modPrinter.bas 执行了实际的工作。从大约第28行开始,modMain.bas 调用 modPrinter.bas。