打印机驱动
写了一个程序,实现在界面上选择打印机后一键安装。以后有机会发出来,先下我找到的利
用 rundll32 运行dll的方式贴上来。以便后用。
使用方式: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
/a[file] 二进制文件名称
/b[name] 基本打印机名称
/c[name] 如果动作发生在远程计算机,则是计算机的 UNC 名称
/dl 删除本机打印机
/dn 删除网络打印机联机
/dd 删除打印机驱动程序
/e 显示打印喜好设定
/f[file] 可以是 inf 档案或输出档案
/ga 增加每台计算机的打印机联机
/ge 列举每台计算机的打印机联机
/gd 删除每台计算机的打印机联机
/h[arch] 以下驱动程序结构之一 Alpha | Intel | Mips | PowerPC
/ia 使用 inf 文件来安装打印机驱动程序
/id 用新增打印机驱动程序精灵来新增打印机驱动程序
/if 使用 inf 文件来安装打印机
/ii 激活新增打印机精灵及 inf 文件来安装打印机
/il 使用新增打印机精灵来安装打印机
/in 新增网络打印机联机
/j[provider] 打印提供者名称
/k 打印测试页到指定的打印机。安装打印机时,不可和指令相结合。
/l[path] 打印机驱动程序来源路径
/m[model] 打印机驱动程序机型名称
/n[name] 计算机名称
/o 显示打印机队列检视
/p 显示打印机内容
/q 安静模式,不显示错误讯息
/r[连接埠] 连接埠名称
/s 显示服务器内容
/Ss 将打印机设定值储存到档案
/Sr 将打印机设定值从档案还原
储存或还原必须放在指令结尾的打印机设定值选项旗标:
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c 色彩设定档
d 打印机资料
s 安全性描述元
g 通用 DevMode
m 最小设定值
u 使用者 DevMode
r 解决名称冲突
f 强制名称
p 解决连接埠
/u 如果已经安装了,使用现存的打印机驱动程序
/t[#] 基本索引页从零开始
/v[verison] 指定以下驱动程序版本之一,Windows 95 或 98 | Windows NT 3.1 | Windows NT 3.5 或 3.51 | Windows NT 3.51 | Windows NT 4.0 | Windows NT 4.0 或 2000 | Windows 2000
/w 如果在 inf 文件内找不到指定的驱动程序,提示一个驱动程序给使用者
/y 设定为预设打印机
/Xg 取得打印机设定值
/Xs 指定打印机设定值
/z 不自动共享这个打印机
/Z 共享这个打印机,只能和 /if 选项配合使用
/? 说明讯息
@[file] 指令行自变量档案
范例:
执行服务器内容:
rundll32 printui .dll ,PrintUIEntry /s /t1 /n\\machine
执行打印机内容:
rundll32 printui .dll ,PrintUIEntry /p /n\\machine\printer
在本机执行新增打印机精灵:
rundll32 printui .dll ,PrintUIEntry /il
执行新增打印机精灵于 \\machine:
rundll32 printui.dll,PrintUIEntry /il /c\\machine
执行队列检视:
rundll32 printui .dll ,PrintUIE 执行 inf 档安装:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf
/r "lpt1:" /m "AGFA-AccuSet v52.3"
使用 inf 文件执行新增打印机精灵:
rundll32 printui.dll,PrintUIEntry /ii /f %windir%\inf\ntprint.inf
新增每台计算机打印机联机:
rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan
Print Services"
删除每台计算机的打印机联机:
rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer
列举每台计算机的打印机联机:
rundll32 printui.dll,PrintUIEntry /ge /c\\machine
使用 inf 文件新增打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel"
/v "Windows 2000" /f %windir%\inf\ntprint.inf
移除打印机驱动程序:
rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel"
/v "Windows 2000"
设定为预设打印机:
rundll32 printui.dll,PrintUIEntry /y /n "printer"
设定打印机批注:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"
取得打印机设定值:
rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
取得打印机设定值并将结果储存在档案:
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
设定打印机设定值指令使用方式
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
将所有打印机设定值存放到档案:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
从档案还原所有的打印机设定值:
rundll32 printui.dll,PrintUI /Sr /n "printer" /a "file.dat"
将打印机信息存放到等级 2 的档案中:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
还原档案打印机安全性描述元:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
还原档案打印机通用 devmode 及打印机资料:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
还原档案最小设定值及解析连接埠名称:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p