首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写Windows打印机驱动程序

编写Windows打印机驱动程序
EN

Stack Overflow用户
提问于 2009-03-16 06:55:58
回答 3查看 23.1K关注 0票数 15

我想用C++或C#编写一个应用程序,它在安装时会像打印机驱动程序一样工作。它将在打印对话框的下拉列表中可用,但它将调用我的代码,而不是打印。

我认为Windows可能提供了一些接口来编写打印机驱动程序。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-16 07:11:41

Windows提供了大量的接口。你知道你想写什么样的打印机驱动程序吗?目前,视窗系统支援三种不同风格的打印机驱动程式-- PostScript、Unidrv和XPSDrv (后者只适用于XP/2003伺服器上的EP1.0或以上版本)。大多数情况下,编写驱动程序插件就足够了。阅读INF架构以了解这些东西的安装,特别是关于迷你驱动程序的部分。

正如所建议的,您将需要WDK能够构建驱动程序或其插件。请注意,驱动程序不使用Visual Studio IDE或编译器。WDK自带了一个编译器。您可以随时使用VS连接后者,但那是另一回事。

WDK有针对不同操作系统的设置。您必须知道您想要处理哪个操作系统(或一组操作系统),并选择适当的设置。

我想写一个简单的驱动程序,它将显示在打印机列表中。

我看不出这会有什么帮助。如果您正在编写驱动程序,为什么需要系统上存在的所有其他驱动程序的列表?

打印到这个驱动程序会调用我的代码,这样我就可以做一些事情,如创建文档的

,调用网络服务等。

有意思的!您可以在UI插件中实现所有这些功能。UI插件是在选择Advanced驱动程序属性时加载的动态链接库。

要开始使用UI插件,请看一下WDK中的示例oemui源代码。

票数 21
EN

Stack Overflow用户

发布于 2021-12-03 06:22:47

您所请求的内容在Windows中不可用。您可以使用PostScript、UniDrv、XPSDrv驱动程序开发自己的打印机驱动程序。当驱动程序作为添加打印机的一部分安装时,将使用驱动程序创建打印队列。发现和设备安装是另一个主题。从应用程序提交打印作业时,Windows打印系统将调用此驱动程序。Windows打印系统由打印假脱机程序、打印处理器、端口监视器、语言监视器组成。当您的应用程序调用Win32或.NET打印app时,这些app将调用通用打印对话框或现代打印对话框组件来显示打印对话框界面,其中列出了打印机。提交打印作业时,假脱机程序会生成XPS格式的假脱机数据,并将其发送给驱动程序。您的驱动程序将处理驱动程序并将其写出到假脱机程序或将其保存到文件中,具体取决于端口配置。

票数 0
EN

Stack Overflow用户

发布于 2013-10-13 16:04:45

我不确定它是否会显示在列表中,但我从未尝试过以下C++代码:

代码语言:javascript
复制
#include <fstream>
Namespace Drivers{
Class Printer{
Const IOStream Printer("PRN");
Void Send(char a[]){
Printer<<a;}
Char GetStatus[](){
Char a[];
Printer>>a; 
return a;
 };
 }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/649490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档