在windows中追加/删除虚拟打印机实例教程
由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数。
使用rundll32printui.dll,PrintUIEntry,在CMD中运行,在弹出框中得到以下提示。
用法:rundll32printui.dll,PrintUIEntry[options][@commandfile]
/a[file]二进制文件名 /b[name]基本打印机名 /c[name]如果操作在远程机器上,unc机器名 /dl删除本地打印机 /dn删除网络打印机连接 /dd删除打印机驱动程序 /e显示打印首选项 /f[file]inf文件或输出文件 使用/f指定的INF文件可能依赖的INF文件的/F[file]位置 /ga添加每个机器打印机连接(用户登录时此连接将传播到用户) /ge枚举每个机器打印机连接 /gd删除每个机器打印机连接(用户登录时此连接将被删除) /h[arch]驱动程序体系结构,为下列之一:x86或x64或Itanium /ia用INF文件安装打印机驱动程序 /id用添加打印机驱动程序向导安装打印机驱动程序 /if用INF文件安装打印机 /ii用带INF文件的添加打印机向导安装打印机 /il用添加打印机向导安装打印机 /in添加网络打印机连接 /ip使用网络打印机安装向导安装打印机 /j[provider]打印提供程序名称 /k将测试页打印到指定的打印机,不能安装打印机时的命令组合 /l[path]打印机驱动程序源路径 /m[model]打印机驱动程序型号名 /n[name]打印机名 /o显示打印机队列查看 /p显示打印机属性 /q安静模式,不显示错误信息 /r[port]端口名 /s显示服务器属性 /Ss将打印机设置存到一个文件 /Sr从一个文件还原打印机设置
储存或还原必须放在命令结尾的打印机设置选项标志:
2PRINTER_INFO_2 7PRINTER_INFO_7 c颜色配置文件 d打印机数据 s安全描述符 g全局DevMode m最低设置 u用户DevMode r解决名称冲突 f强制使用名称 p解析端口 i驱动程序名称冲突 /u如果已安装,则使用现有的打印机驱动程序 /t[#]起始的以零为基础的索引页 /v[version]驱动程序版本,为下列之一:“类型2-内核模式”或“类型3-用户模式” /w如果在INF中找不到指定的驱动程序,则提示用户 /y将打印机设置为默认打印机 /Xg获得打印机设置 /Xs设定打印机设置 /z不要自动共享这台打印机 /Z不要自动生成打印机名 /K更改/h的含义,使x86或x64或Itanium接受2、3、4,并更改/v的含义,使“类型3-用户模式”接受3 /Z共享这台打印机,只能跟/if选项一起使用 /?帮助信息 @[file]命令行参数文件 /Mw[message]确认命令之前显示警告消息 /Mq[message]确认命令之前显示确认消息 /W[flags]指定向导(APW和APDW)的标志和切换 r使向导可以从上一页重新启动 /G[flags]指定全局标志和切换 w抑制安装程序驱动程序警告UI(超级静声模式)
例如:
运行服务器属性:
rundll32printui.dll,PrintUIEntry/s/t1/c\\machine 运行打印机属性: rundll32printui.dll,PrintUIEntry/p/n\\machine\printer 本地运行添加打印机向导: rundll32printui.dll,PrintUIEntry/il 在\\machine: rundll32printui.dll,PrintUIEntry/il/c\\machine运行添加打印机向导 运行队列查看: rundll32printui.dll,PrintUIEntry/o/n\\machine\printer 运行INF安装: rundll32printui.dll,PrintUIEntry/if/b"TestPrinter"/fc:\infpath\infFile.inf/r"lpt1:"/m"BrotherDCP-128C" 运行INF安装(具有INF依赖关系)。在此示例中,prnbr002.inf依赖于ntprint.inf rundll32printui.dll,PrintUIEntry/ia/m"BrotherDCP-128C"/K/hx64/v3/f"c:\infpath\prnbr002.inf"/F"c:\infpath\ntprint.inf" 使用INF运行添加打印机向导: rundll32printui.dll,PrintUIEntry/ii/fc:\infpath\infFile.inf 使用内置打印机驱动程序添加打印机: rundll32printui.dll,PrintUIEntry/if/b"TestPrinter"/r"lpt1:"/m"BrotherDCP-128C" 添加每个机器打印机连接(用户登录时此连接将传播到用户): rundll32printui.dll,PrintUIEntry/ga/c\\machine/n\\machine\printer/j"LanManPrintServices" 删除每个机器打印机连接(用户登录时此连接将被删除): rundll32printui.dll,PrintUIEntry/gd/c\\machine/n\\machine\printer 枚举每个机器打印机连接: rundll32printui.dll,PrintUIEntry/ge/c\\machine 使用INF添加打印机驱动程序: rundll32printui.dll,PrintUIEntry/ia/c\\machine/m"BrotherDCP-128C"/h"x86"/v"Type3-UserMode"/fc:\infpath\infFile.inf 使用INF添加打印机驱动程序: rundll32printui.dll,PrintUIEntry/ia/K/c\\machine/m"BrotherDCP-128C"/h"x86"/v3 添加内置打印机驱动程序: rundll32printui.dll,PrintUIEntry/ia/c\\machine/m"BrotherDCP-128C"/h"Intel"/v"Type3-KernelMode" 删除打印机驱动程序: rundll32printui.dll,PrintUIEntry/dd/c\\machine/m"BrotherDCP-128C"/h"x86"/v"Type3-UserMode" 删除打印机驱动程序: rundll32printui.dll,PrintUIEntry/dd/K/c\\machine/m"BrotherDCP-128C"/h"x86"/v3 将打印机设置为默认打印机: rundll32printui.dll,PrintUIEntry/y/n"printer" 设置打印机注解: rundll32printui.dll,PrintUIEntry/Xs/n"printer"comment"MyCoolPrinter" 取得打印机设置: rundll32printui.dll,PrintUIEntry/Xg/n"printer" 取得文件中的打印机设置保存结果: rundll32printui.dll,PrintUIEntry/f"results.txt"/Xg/n"printer" 设置打印机设置命令使用: rundll32printui.dll,PrintUIEntry/Xs/n"printer"? 将所有打印机设置存入一个文件: rundll32printui.dll,PrintUIEntry/Xs/n"printer"? 从一个文件还原所有打印机设置: rundll32printui.dll,PrintUIEntry/Sr/n"printer"/a"file.dat" 将二级打印机信息存入一个文件: rundll32printui.dll,PrintUIEntry/Ss/n"printer"/a"file.dat"2 从一个文件还原打印机安全描述符: rundll32printui.dll,PrintUIEntry/Sr/n"printer"/a"file.dat"s 从一个文件还原打印机全局devmode和打印机数据: rundll32printui.dll,PrintUIEntry/Sr/n"printer"/a"file.dat"gd 从文件最少设置还原并分析端口名: rundll32printui.dll,PrintUIEntry/Sr/n"printer"/a"file.dat"mp 启用打印机的客户端呈现: rundll32printui.dll,PrintUIEntry/Xs/n"printer"ClientSideRenderenabled 禁用打印机的客户端呈现: rundll32printui.dll,PrintUIEntry/Xs/n"printer"ClientSideRenderdisabled
添加打印机步骤,首先在控制面板的打印机页面中确认本地端口是否存在。能够正常打印的虚拟端口为(NUL:),如果不存在,需要手动创建。
@echooff REM添加5台名称为TestPrt1-TestPrt5使用端口为NUL:使用驱动为BrotherDCP-116C的打印机 SETNUM=5 for/l%%iin(11%NUM%)dorundll32printui.dll,PrintUIEntry/if/b"TestPrt%%i"/r"NUL:"/m"BrotherDCP-116C" pause
删除打印机
@echooff REM删除名为TestPrt1-TestPrt5的5台打印机 SETNUM=5 for/l%%iin(11%NUM%)dorundll32printui.dll,PrintUIEntry/dl/n"TestPrt%%i" pause
以上所述是小编给大家介绍的在windows中追加/删除虚拟打印机实例教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!