我想用 C++ 或 C# 编写一个应用程序,它在安装时将充当打印机驱动程序。它将在“打印”对话框的下拉列表中可用,但不会打印,而是会调用我的代码。
我认为可能有一些 Windows 提供的接口(interface)来编写打印机驱动程序。
最佳答案
Windows 提供了大量的接口(interface)。你知道你想写什么样的打印机驱动程序吗?目前,Windows 支持三种类型的打印机驱动程序——PostScript、Unidrv 和 XPSDrv(后者仅在带有 EP 1.0 及更高版本的 XP/2003 Server 上)。大多数时候,编写一个驱动插件就足够了。阅读 INF 架构以了解这些东西已安装,特别是有关微型驱动程序的部分。
如建议的那样,您将需要 WDK 才能构建驱动程序或其插件。请注意,驱动程序不使用 Visual Studio IDE 或编译器。 WDK 带有自己的编译器。您总是可以将后者与 VS 联系起来,但那是另一回事。
WDK 具有针对不同操作系统的设置。您必须知道您想要解决哪个操作系统(或一组操作系统)并选择适当的设置。
I want to write a simple driver that will displays in the list of printers.
我不明白这会有什么帮助。如果您正在编写驱动程序,为什么需要系统上所有其他驱动程序的列表?
Printing to this driver will call into my code so that I can do stuff like create a PDF of the document, calling the Web Service etc.
有趣的!您可以在 UI 插件中实现所有这些功能。 UI 插件是在您选择
Advanced
时加载的 dll。驱动属性。要开始使用 UI 插件,请查看示例
oemui
WDK 中的源代码。
关于driver - 编写 Windows 打印机驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649490/