pxz
pxz
游客
游客
阅读:3899回复:6

Printer Driver

楼主#
更多 发布于:2001-03-28 08:41
正在做一个打印机驱动程序,将内容写到一个文件中。
可是DDK的例子,真的是给神仙看的,我辈凡人可能看不
懂。那位神仙救我?

最新喜欢:

wenhu93jwenhu9...
ajls
驱动牛犊
驱动牛犊
  • 注册日期2001-03-31
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-03-31 11:25
lijun 你好,我想请教一个问题。在WIN2000 MINIDRIVER中加入一个 Rendering Plug-Ins,在IPrintOemUni::FilterGraphics获取扫描数据(SCAN LINES)。我以一幅32X32的单色的BMP为对象进行测试,发现每次获得数据的长度不一样,而且数据与位图图象数据不一致。我的理解是每次扫描的数据应该与位图图象数据一致,如32X32的单色的BMP,在一次打印过程中应该调用IPrintOemUni::FilterGraphics()32次,即获取32个扫描行,每次的数据的长度为32个象素,4个字节长。可能是我的理解有误,可能扫描行的数据与在GPD文件中RES0LUTION FEATURE中设置有关。希望你不吝赐教。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2001-04-02 08:35
M$可以下载,不过要有msdn号
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2001-04-02 09:00
站上有一篇文章,讲这个的,其实它只需要16位的res编译器,再在注册表中欺骗一下它就可以装了.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
ajls
驱动牛犊
驱动牛犊
  • 注册日期2001-03-31
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-04-02 15:48
LIJUN多谢你的鼓励,这两天加了点班,进展还是比较快的,基本上截取到了任何可打印文档然后转换为BMP。正在把图象转换为A4纸张大小,毕竟对于打印分辨率,与纸张大小以及所谓MASTERA UNITS 不很透彻,以及如何处理大文档的问题。所以还得不断调试。调试方法采用DBGVIEW 与
DebugMessage(STR),问题直观多了。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
5楼#
发布于:2001-04-02 15:52


安装Windows 95 DDK一般需要先安装Win32 SDK,原因是Windows 95 DDK
需要Win32 SDK的16位资源编译器,但是Win32 SDK很大(一整张光盘
的容量),而且国内难以买到,ftp站上也较少见,即使有,下载也很困难。
笔者经过一段时间的摸索,找到了安装Windows 95 DDK的几种简单方法,
现将方法介绍如下:
方法之一:使用第三方资源编译器
1、修改注册表,仿真Win32 SDK已经安装的情况。
建立一个名为WIN32SDK.REG的注册表文件,内容为:

REGEDIT4

[HKEY_USERS\.Default\Software\Microsoft\Win32SDK]

[HKEY_USERS\.Default\Software\Microsoft\Win32SDK\Directories]
"Install Dir"="C:\\MSTOOLS"

在资源管理器中双击此文件,将此文件中的内容添加到注册表。就可以安
装Windows 95 DDK了。
2、运行Windows 95 DDK中的SETUP.EXE文件,安装Windows 95 DDK到
C:\DDK。
3、安装MASM 6.11到C:\MASM611,安装完成后将未安装的Windows 95 DDK
中的MASM611C目录下的文件覆盖到C:\MASM611\BIN。
4、安装Visual C++ 5.0(4.0也可以,但不宜使用6.0)到C:\Program
Files\DevStudio\VC。
5、建立C:\MSTOOLS\BINW16目录,拷贝资源编译器。
Windows 95 DDK需要一个能将Win32资源源文件编译成16位资源的资源
编译器。如果有Win32 SDK,可以将BINW16目录下的文件直接拷贝到
C:\MSTOOLS\BINW16,如果没有Win32 SDK,则可以使用第三方的资源编译
器,这里以使用Borland的资源编译器为例:
准备Turbo MASM 5.0一套,用UNPAK工具解压缩CMDLINE.PAK文件,找
到下面三个文件:

BRC.EXE
BRCC32.EXE
RW32CORE.DLL

将这三个文件拷贝到C:\MSTOOLS\BINW16,并将BRC.EXE改名为RC.EXE即
可。
6、修改CONFIG.SYS增大环境变量空间。
在CONFIG.SYS文件最后加入一行:

SHELL=C:\WINDOWS\COMMAND.COM /E:8192 /P

7、进入Windows 95 MS-DOS方式,初始化编译环境(最好建立一个批处
理文件):

C:\MASM611\BINR\NEW-VARS.BAT
C:\DDK\DDKINIT.BAT 32 BASE
(编译的设备驱动程序不同,参数也不同)
C:\Program Files\DevStudio\VC\bin\VCVARS32.BAT

就可以使用Windows 95 DDK了,连接时出现的警告可以不理会。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
treetree123
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2008-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-30 23:17
ajls 你好。我最近在做一个虚拟打印程序,就是拦截打印数据,并将其转换成指定的文件,不知道你有没有好的参考源码,能提供一点吗?不甚感激!
QQ: 66843296 火云
游客

返回顶部