阅读:7976回复:15
谁知道怎么用rundll32.exe给一打印机添加一指定的驱动程序
谁知道怎么用rundll32.exe给一打印机添加一指定的驱动程序,象这样的命令:
rundll32.exe printui.dll,PrintUIEntry /if /f .\\\\OEMSETUP.INF /r \"LPT1:\" /b \"TVP3000 Printer\" /m \"TVP3000 Printer\" 我有一驱动程序VPRINTER.INF在c:\\winnt\\inf下怎么样才能使用该驱动对打印机进行驱动,小弟急用哪位知道请告诉我谢谢! |
|
沙发#
发布于:2003-07-17 20:37
直接使用安装打印机向导不能装吗?
[编辑 - 7/17/03 by caesun] |
|
板凳#
发布于:2003-07-18 09:00
to caesun:
我用vc已经实现了添加打印机的新端口和添加新打印机,可是不知道怎么用vc实现添加指定的打印机驱动程序,我用了AddPrintDriver方法, 运行没有结果,可能是他的结构设置有错误,可以给我一个实例吗?我急用!谢谢了! |
|
地板#
发布于:2003-07-18 09:04
后来就用了rundll32.exe printui.dll,PrintUIEntry /if /f .\\\\OEMSETUP.INF /r \"LPT1:\" /b \"TVP3000 Printer\" /m \"TVP3000 Printer\"
这样类似的命令来添加,可以添加,不过会出现一个问题:就是执行上面命令时,它会并行执行添加打印机那段代码,这是打印机驱动程序还没有装完,从而导致添加失败! 第二次执行就正确了, 因为添加了打印机驱动程序了! 还望caesun多多指教! |
|
地下室#
发布于:2003-07-18 09:16
to caesun:
我很想跟你做朋友,可以吗? 要是行的话,你留Email或者QQ都行 |
|
5楼#
发布于:2003-07-18 12:47
rundll32.exe printui.dll...
执行失败可能是inf配置不对,可参见附件里的oemsetup.inf。 addprinterdriver不成功可能是 DRIVER_INFO_3.pDependentFiles没把所有文件写全。 而且在执行addprinterdriver需要将所有dll, gpd...复制到printerdriver path。 my mail:caesun@yahoo.com |
|
|
6楼#
发布于:2003-07-18 13:21
caesun:
2kddk中escp24sc编译后,使用自带inf文件,安装不上,为什么〉? |
|
|
7楼#
发布于:2003-07-18 13:51
先在这个目录下build一下,生成好dll之后就可以安装了。
(安装时需要w2k/wxp的光盘复制unidrv.dll) |
|
|
8楼#
发布于:2003-07-18 15:01
to caesun:
我现在的文件有: printui.dll,stdnames.gpd,temp.opt,vprinter.dll,vprinter.GPD,VPRINTER.INF和vprproc.dll。 你可以把正确的addprinterdriver的应用告诉好吗,包括DRIVER_INFO_3结构的写法,谢谢了! 就是添加打印机驱动程序这部分 |
|
9楼#
发布于:2003-07-18 15:25
to caesun:
老大可以给我源代码吗?我现在急用呀 要不然经理会扣我工资的,我一个月才1000多 再扣我就没有饭吃了,hehe |
|
10楼#
发布于:2003-07-18 15:40
试试看这个小程序,不过其中的addprinterdriver我只在98下试过,2000还没试(2000下我是用rundll32...加的。)
注意,在addprinterdriver()之前,一定要将所有文件先复制到printerdriverdirectory下。GetPrinterDriverDirectory()... |
|
|
11楼#
发布于:2003-07-18 16:38
我的打印机驱动程序文件如下:
printui.dll,stdnames.gpd,temp.opt,vprinter.dll,vprinter.GPD,VPRINTER.INF和vprproc.dll。 它们在d:\\virtual print目录下。 DRIVER_INFO_3 di3; ZeroMemory(&di3, sizeof(DRIVER_INFO_3)); di3.cVersion = 3; di3.pName =_TEXT(\"xxxxx\");//HP LaserJet III di3.pEnvironment = _TEXT(\"Windows NT x86\");; di3.pDriverPath=_TEXT(\"d:\\\\virtual printer\\\\vprinter.dll\"); di3.pDataFile =_TEXT(\"d:\\\\virtual printer\\\\vprinter.gpd\"); di3.pConfigFile=_TEXT(\"d:\\\\virtual printer\\\\...\");//这里也不知道怎么填 di3.pDependentFiles = _TEXT(....);//这里不知道怎么填写 di3.pHelpFile = NULL; di3.pMonitorName = NULL; di3.pDefaultDataType = _TEXT(\"RAW\"); AddPrinterDriver(NULL, 3, (LPBYTE)&di3); 运行时不能得到正确结果 |
|
12楼#
发布于:2003-07-18 17:02
前面好像发了个老的程序。:)
.pDependentFiles =_T(\"printui.dll\\0stdnames.gpd\\0vprinter.dll\\0vprinter.gpd\\0vprinter.inf\\0vprproc.dll\\0temp.opt\\0\\0\") .pConfigFile = _T(\"printui.dll\") |
|
13楼#
发布于:2003-07-18 17:23
你开始说的把所有文件先复制到printerdriverdirectory下,
printerdriverdirectory指的是d:\\virtual printer下还是win2000的驱动程序目录(c:\\winnt\\system32...)。 |
|
14楼#
发布于:2003-07-18 17:36
GetPrinterDriverDirectory()
|
|
15楼#
发布于:2009-11-08 23:52
谢谢
帮了大忙了 |
|