在windows中追加/删除虚拟打印机实例教程
程序员文章站
2022-04-06 20:12:50
由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数。
使用 rundll32 printui.dll,printuientr...
由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数。
使用 rundll32 printui.dll,printuientry,在cmd中运行,在弹出框中得到以下提示。
用法: rundll32 printui.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 从一个文件还原打印机设置
储存或还原必须放在命令结尾的打印机设置选项标志:
2 printer_info_2 7 printer_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 (超级静声模式)
例如:
运行服务器属性:
rundll32 printui.dll,printuientry /s /t1 /c\\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,printuientry /o /n\\machine\printer 运行 inf 安装: rundll32 printui.dll,printuientry /if /b "test printer" /f c:\infpath\inffile.inf /r "lpt1:" /m "brother dcp-128c" 运行 inf 安装(具有 inf 依赖关系)。在此示例中,prnbr002.inf 依赖于 ntprint.inf rundll32 printui.dll, printuientry /ia /m "brother dcp-128c" /k /h x64 /v 3 /f "c:\infpath\prnbr002.inf" /f "c:\infpath\ntprint.inf" 使用 inf 运行添加打印机向导: rundll32 printui.dll,printuientry /ii /f c:\infpath\inffile.inf 使用内置打印机驱动程序添加打印机: rundll32 printui.dll,printuientry /if /b "test printer" /r "lpt1:" /m "brother dcp-128c" 添加每个机器打印机连接(用户登录时此连接将传播到用户): 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 "brother dcp-128c" /h "x86" /v "type 3 - user mode" /f c:\infpath\inffile.inf 使用 inf 添加打印机驱动程序: rundll32 printui.dll,printuientry /ia /k /c\\machine /m "brother dcp-128c" /h "x86" /v 3 添加内置打印机驱动程序: rundll32 printui.dll,printuientry /ia /c\\machine /m "brother dcp-128c" /h "intel" /v "type 3 - kernel mode" 删除打印机驱动程序: rundll32 printui.dll,printuientry /dd /c\\machine /m "brother dcp-128c" /h "x86" /v "type 3 - user mode" 删除打印机驱动程序: rundll32 printui.dll,printuientry /dd /k /c\\machine /m "brother dcp-128c" /h "x86" /v 3 将打印机设置为默认打印机: 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 /xs /n "printer" ? 从一个文件还原所有打印机设置: rundll32 printui.dll,printuientry /sr /n "printer" /a "file.dat" 将二级打印机信息存入一个文件: 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 启用打印机的客户端呈现: rundll32 printui.dll,printuientry /xs /n"printer" clientsiderender enabled 禁用打印机的客户端呈现: rundll32 printui.dll,printuientry /xs /n"printer" clientsiderender disabled
添加打印机步骤,首先在控制面板的打印机页面中确认本地端口是否存在。能够正常打印的虚拟端口为(nul:),如果不存在,需要手动创建。
@echo off rem 添加5台名称为 testprt1-testprt5 使用端口为 nul: 使用驱动为 brother dcp-116c 的打印机 set num=5 for /l %%i in (1 1 %num%) do rundll32 printui.dll,printuientry /if /b "testprt%%i" /r "nul:" /m "brother dcp-116c" pause
删除打印机
@echo off rem 删除名为testprt1-testprt5的5台打印机 set num=5 for /l %%i in (1 1 %num%) do rundll32 printui.dll,printuientry /dl /n "testprt%%i" pause
以上所述是小编给大家介绍的在windows中追加/删除虚拟打印机实例教程,希望对大家有所帮助