- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
win32api在编写打印机程序中的作用
.巨圈
-…·-·PROGRAM
Win32
API在编写打印机程序中的作用
肖民杰
API绕过驱
摘 要:论述了Win32API在打印机应用程序开发中的使用,介绍了一种使用Win32
动,直接将原始数据发送给打印机的方法,研究了使用Win32API修改打印机端口的问题,并讨
论在应用程序中使用打印机命令集的开发办法。
关键词:Win32API;原始数据;打印;端口切换;打印机命令集
众所周知,WindowB下打印的流程通常是应用程序通过调
用GDI(图形设备接口)创建打印作业.GDI图形引擎通过打Microsofi提供,它导出的函数构成了假脱机的Win32API,并对
印机驱动程序实现的DDI(设备驱动接口).生成打印机能处
理的数据.然后将数据传递到假脱机系统.再由假脱机系统负 的函数来查询打印机、打印任务、查询,改变打印机设置、加载
责将数据发送到语言监视器。语言监视器再把数据发送到端口 打印机驱动程序接口动态链接库来显示和设置打印机属性页
监视器.端口监视器用OS文件系统API往硬件端口写数据.
直至最后数据被发送到打印机。经由这个完整的流程。最终发 0,End—
0,StartPagePfinte0,WritePrinter0,EndPagePrinter
送到打印机的数据一般是位图数据和少量格式控制命令.虽然 DocPrinter()、ClosePrinter0函数把原始数据发送到打印假脱
可以实现所见所得的打印.但是.通过驱动生成的数据。往往 机,从而绕过正常的GDI或打印机驱动程序绘制这一条常规
数据量大。而且不能灵活发挥打印机的内部特性。如打印机自 路,实现直接将原始数据(含打印机控制命令)发送到打印机
身的丰富命令集、自带的字库、倍高倍宽等自带的字处理功 的目的。
能、状态监控等优势都得不到正常发挥。
2利用Win32API将原始数据发送给打印机
为此.在编写Windows下的打印及打印机控制程序时,常
常需要绕过打印机驱动程序.直接通过应用程序将原始数据发 使用Win32API将原始打印数据发送打印机的完整步骤
送到打印机。要实现这个目的。就要充分了解并利用Windows
如下:
打印假脱机系统的一些特殊API函数。 (1)调用OpenPrinter0打开打印机,获取打印机句柄。
(2)初始化DOCINFO打印机结构体。
1 Windows打印假脱机系统
(3)调用StartDoePrinter
0表明应用程序准备发送文档数
Windows下打印作业发送到打印假脱机系统.由打印假脱
据给打印机。
机调度、转换打印数据流、发送到打印机以减少向外设传送数 (4)调用StartPagePrinter0表明程序准备发送一个新的
据时占用主机处理器的时间。 打印贞给打印机。
Windows打印假脱机最基本组件如图l所示。 (5)调用WritePrintcr
您可能关注的文档
- k-means聚类中心的鲁棒优化算法 robust clustering center optimization for k-means algorithm.pdf
- java嵌入式设备基于可信计算的架构研究 an architecture for trusted computing for java enabled embedded devices.pdf
- k-近邻算法的改进及实现 improvement and implementation of k nearest neighbors algorithm.pdf
- k-匿名隐私保护模型下的top-k查询 top-k queries under k-anonymity privacy protection model.pdf
- lap在lf生产线暖通自动化系统改造中的应用 application of iap in lf line hvac automation system renovation.pdf
- lblock结构的扩散层研究 diffusion layer of lblock structure.pdf
- libpcap-mt一种多线程的通用数据包捕获库 libpcap-mt a general purpose packet capture library with multi-thread.pdf
- linux手机软件平台创建工具 creation kit for linux mobile phone software platform.pdf
- linux的dma高速串口驱动的设计 linux high speed serial driver design.pdf
- lmcp用于变化光照下人脸识别的lbp改进方法 lmcp improved lbp method of face recognition under varying illumination.pdf
- windows ce6.0下lcd驱动程序移植 migration of lcd driver in windows ce 6.0.pdf
- web2.0环境下大学生个人知识管理能力结构分析.pdf
- windows 8按需搜索快又好.pdf
- wincc报表在提钒半钢冶炼中的实践应用 wincc report implementation in the vanadium extraction and semi-steel smelting.pdf
- windows vista中下一代加密技术及其应用.pdf
- winsock技术在低压配电远程监控系统中的应用 winsock technology in the remote supervision of the low-voltage distribution system.pdf
- windows的钩子技术及实现 windows hook technique and implementation.pdf
- wlan mesh漫游接入认证协议 an authentication protocol for station roaming in wlan mesh.pdf
- wishbone片上总线符号模型检测 symbolic model checking of wishbone on-chip bus.pdf
- wlan中基于小区呼吸的多约束负载均衡 multi-constraint load balancing based on cell breathing in wlan.pdf
文档评论(0)