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