虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
来源:互联网 发布:visio网络拓扑图模板 编辑:程序博客网 时间:2024/04/29 13:23
使用MS提供的MSPLOT驱动源文件,可方便地进行自用的打印机驱动开发或虚拟打印机驱动的开发,以下是一个最简的完整的使用DDK编译MSPLOT打印驱动的步骤:
1、编译对应的工具(64bit驱动)
打开DDK的Win7 x64 Checked Build Environment定位至:
D:\WinDDK\7600.16385.1\src\print\msplot ,输入命令build ,在msplot目录生成AMD64文件夹及在D:\WinDDK\7600.16385.1\src\print\msplot\tools\ntres\objchk_win7_amd64\amd64生成PlotGPC.exe应用程序,前者用于生成驱动的用户界面及接口,后者用于修改PCD文件;
2、修改PCD文件
微软绘图仪驱动程序的特定模型的小驱动程序,是由厂商提供的、从描述设备特征文本文件产生的二进制的.pcd文件。 为产生一个.pcd文件,必须首先创建一个采用PCD源文件格式的文本文件(此文件在DDK路径:WinDDK\7600.16385.1\src\print\msplot\mini)。
使用Build Evironment定位至:
D:\WinDDK\7600.16385.1\src\print\msplot\tools\ntres\objchk_win7_amd64\amd64,输入命令:PlotGPC source-file-path.txt traget-file-path.pcd(注意后缀名一致),在目标路径可生成traget-file-path.pcd文件;
3、MSPLOT驱动的安装
新建文件一个驱动安装文件夹PrintDrive,里面分别新建文件夹i386、mini,再将msplot\AMD64文件夹下面的已经编译好的plotter.dll与plotui.dll文件拷贝至PrintDrive里面的i386文件夹中,将步骤2中编译好的pcd文件放至mini文件夹中,如hp7550pl.pcd的路径应为PrintDrive\mini\hp7550pl。将msplot文件夹中的plotter.inf及plotui.hlp文件拷贝至PrintDrive文件夹中,则整个安装文件装备好,照一般inf安装方法安装该打印机即可。
后注:
x64 Win7系统的驱动安装需要数字认证签名,以上是使用DDK中微软提供的模板修改的打印机驱动,用户接口可以在其提供的源文件中修改,而打印机相关属性可在pcd上做手脚,但安装用的inf文件一旦作出修改系统将无法安装该驱动(使用其他编译环境则无此问题,可自行试验),请在安装时选好对应的打印驱动名称。
转自: http://joeyliu.blog.51cto.com/3647812/677141
- 虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
- Win7下设置DirectShow编译环境小结(特别的x64位环境)
- win7 X64 编译ffmpeg
- win7(x64)编译ffmpeg
- Openssl WIN7 x64编译
- VC实现驱动程序的开发和编译的完整步骤
- VC实现驱动程序的开发和编译的完整步骤
- 虚拟打印机开发一
- win7 x64环境下用vc2008编译mysql++注意事项
- WIN7 x64+CUDA8.0+VS2010编译环境搭建
- qt4.8.7 源码在win7+vs2010环境的x64编译(qt 64位)
- WIN7 X64 GDAL GEOS 编译
- WIN7-x64 VS2008 编译libthrift
- WIN7下VS2010中使用cl编译的步骤
- 完整的android开发环境搭建和源代码编译过程
- 完整的android开发环境搭建和源代码编译过程 .
- 测试环境的编译步骤
- win7 64位专业版下的x64编译问题
- Android中的Handler, Looper, MessageQueue和Thread
- Liferay MVCPortlet + iBatis
- 去掉excel保存文件时提示:隐私问题警告:此文档中包含宏
- Hadoop并行计算原理与分布式并发编程
- Hibernate使用jdbc只能获取单字符问题
- 虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
- Linux Shell编程(基础教程)
- Asp.net中web.config配置文件详解
- GCC and Make Compiling, Linking and Building C/C++ Applications
- C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别
- [转]goAhead 2.5嵌入式web服务器移植到arm9 2440 + linux中
- Hibernate 官方单例获取sessionFactoty
- iphone妖机+黑机不能上网解决方案
- PHPUnit学习笔记(三)测试方法进阶