如何对存在问题的Windows 3.x打印驱动程序进行修改 于建原 1996-11-22 首先需要说明,Windows 3.x中日产的24针的打印驱动程序的确存在问题,但因笔者缺乏充分的试验条件,还不好说问题有多大。就笔者所见,除了Epson LQ系列的窄行打印机,如LQ-100、LQ-150和与此兼容的NEC 2000P这些型号的打印机,使用原Windows的打印驱动程序完全正常外,其它包括Epson系列在内的宽行打印机,均有问题。43期“征解”中,除了我不熟悉的打印机外,都是宽行打印机。只要这些打印机在DOS下可以正常打印,就首先可以排除打印机本身存在问题。在Windows 3.x中不能打印或不能正常打印,有三种解决方法可以试试: 第一种是在在Windows 3.x本身范围内解决。 1.首先需要检查Windows的打印驱动程序是否真正安装了。有些新用户,可能对Windows的安装程序不熟悉。在安装过程将要结束前,有对安装打印驱动程序的选择,可能稍不留意,就过去了,并没有安装打印驱动程序。这个问题可通过在Windows的“主群组”或“控制面板”中检查“打印管理器”就可知道。如果没有安装打印驱动程序,可以通过“Windows设置”中“安装新的驱动程序”的办法来安装。当出现打印机列表时,首先选择与用户自己的打印机相同或相近型号的打印机,如果没有,再考虑选兼容型号的。 2.如果打印驱动程序安装了,则需要检查打印驱动程序的设置是否正确。最简单的试验方法是用“书写器”打印一份跨一页长的文本文件,看能否正常打印,尤其是换页打印是否正常。如果正常,那么在像Word这类应用程序中打印不正常,问题就不在打印驱动程序上,应考虑应用软件本身的设置和系统设置上的问题。笔者个人的经验,易出问题最多的方面有:一是在Autoexec.bat文件中,没有正确设置“set temp=”语句。在等号后面,一定要是一个合法的目录,并且目录所在的硬盘(或逻辑盘)空余容量足够大(一般情况下,应不低于10MB)。这是因为Windows在打印时候,首行需要生成一个打印缓冲文件,打印的文件越长,需要的磁盘空间越大。因此,如果存放临时文件的目录是在自由空间较小的驱动器上,将不能正常打印。注意,尤其不能设置在虚拟盘上,因为只有1~2M的虚拟盘,是根本无法提供足够的磁盘空间给Windows的应用程序和打印程序写临时文件用的。二是检查DOS的环境变量是否足够。比较简单的检查方法是在Windows中的DOS方式下,试启动一个会改变环境变量的DOS应用程序(比如PCTOOLS的“SI”),看能否正常启动,是否会出现“环境变量不够的”之类的屏幕提示信息。如果是,请在Config.sys文件里有关Windows的配置中,加上一句“SHELL=C:\DOS\COMMAND.COM C:\DOS /E:1024(或2048)/P”,以增大环境变量。三是如果排除了上述问题,还不能正常打印,可试着关闭Windows的“32位磁盘访问”。因为虽然使用“32位磁盘访问”能正常运行Windows,但打印出问题的情况还比较多。四是可以再试验一下关闭打印设置中的“直接到端口的快速打印”选项。使用这个选项(注意这是安装时的默认选项),可使Windows的打印速度提高,但在支持某些型号的打印机时,可能会出现问题。解决办法是在“打印管理器”的“选项”菜单上打开“打印机设置”,在出现的对话框中单击“连接”,在出现的“连接”对话框中,将该选项前的X去掉。这样做后,打印速度减慢是正常的。五是应对存放临时文件的磁盘做一次诊断,确保没有坏扇区存在,因为在有坏扇区存在时,将影响临时文件的正确写入,导致打印不能正常进行,甚至死机。 这些措施,对于那些根本不能打印的情况能有较好的解决,但是对于宽行针式打印机,在换页上,多数仍不能保证正常。因此,在单页打印正常后,如果用户没有更高的打印速度的要求,可以采用每次单页打印的方法。或者可以编写一个打印的“宏命令”来解决。如《电脑报》'96第41期11版上就有介绍的文章,请读者自己查阅。不过,这样的方法,还是以牺牲打印速度来得到正常打印的。所以,有条件的用户,可以考虑采用: 第二种是安装更新版本的Windows打印驱动程序。 如果用户手中有Windows for Workgroup 3.11的Windows版本,可用来更换Windows 3.x的打印驱动程序。因为这是比Windows 3.x版本后推出的一个16位的Windows版本(目前此版本没有中文版的),其上所带的打印驱动程序比较新,也比较齐。笔者简单查了一下,“征解”中提到的打印机的驱动程序,几乎在Windows for Workgroup 3.11中都有。更换的具体方法是: 1.删除在Windows 3.x中已经安装了的打印驱动程序,这可以通过“打印管理器”中“选项”菜单中的“打印机设置”选项来进行。 2.在DOS下,进入Windows的System目录,将dmcolor.dll、epson24.drv(如果不是安装的这款打印机驱动程序,请找出相应的打印机驱动程序,如canon200.drv是佳能打印机的驱动程序;brothe24.drv是兄弟24针打印机驱动程序,等等)、unidrv.dll、unidrv.hlp这4个文件删除。 3.将Windows for Workgroup 3.11目录下的dmcolor.dl_和unidrv.hl_这2个文件,用Windows或DOS的expand.exe释放到Windows的system目录下,dmcolor.dl_应释放为dmcolor.dll,unidrv.hl_释放为unidrv.hlp。再将WFW中的oemsetup.inf、unidrv.dll文件直接拷贝到Windows的system目录下。 4.重新进入Windows,在“打印管理器”中,打开“选项”菜单中的“打印机设置”,在出现的对话框中,点击“新增”,这时,系统提示插入打印驱动程序所在的磁盘,选择WFW所在盘号和目录,经系统查找后,将在列表中列出打印机驱动程序,选择与你的打印机型号相同或相近的一款驱动程序。如果没有,选择与你的打印机兼容的其它型号的打印机驱动程序,点击“安装”即可。然后在“连接”上点击,检查“端口设置”和“设置为默认打印机”的设置是否正确。最后检查纸张设置的尺寸是否足够。至此,你的Windows 3.x的打印机驱动程序升级完毕,可以试打。 一般这一版本的Windows打印驱动程序对窄行和宽行的打印机支持均没有问题,但由于不是Windows 3.x原来的驱动程序,更非中文版本的,使用中有两个问题:一是打印时出现的对话控制框将全变成英文;二是在Word等应用程序的打印中,打印对话控制框不会被自动顶出到屏幕最前面,在提示换纸以及换纸后要按动“YES”确认操作等的时候,必须将打印机控制切换到前面来,才能进行相关操作。这点需要注意。 三是使用断针免修打印驱动程序MX.EXE 由北京市丰海电脑公司开发的这款程序,可以在Windows中文版中使用,因为它是使用自己的打印驱动程序,绕过了Windows 3.x中原来的打印驱动程序,也就可以在Windows中正常打印了。但用户首先需要试用这款程序在DOS下是否支持你的打印机,通过相应的设置,先使之能在DOS下正常打印,并保存DOS的设置。如果在DOS下打印没有问题,则可以在Windows中,通过修改一下Windows的打印设置来使用mx.exe打印。修改方法主要是需要将“直接到端口的快速打印”复选框去掉,方法前面已述。 使用MX.EXE可能存在的问题是,打印速度明显较慢。另外,在笔者的试验中,某些486型的机器上(没有在586机型上试过),当在内存驻留mx.exe时,Windows甚至不能启动进入,尤其是在有emm386.exe和有光驱驱动程序驻留内存的情况下。此法在386机器一般都可通过。 可见,上述几种方法都不完美。所以,笔者认为,如果用户的情况允许的话,应该联络打印机原生产厂家或其所授权销售代理商,要求提供相应的Windows的打印驱动程序或者调换合适的打印机型号。