显示默认打印机的属性和首选项

Posted

技术标签:

【中文标题】显示默认打印机的属性和首选项【英文标题】:Show default printer's properties and preferences 【发布时间】:2019-12-02 09:12:07 【问题描述】:

我正在尝试创建用于打开默认打印机的打印机属性的批处理文件,但出现错误。 我尝试使用

rundll32 printui.dll,PrintUIEntry /e /n "printername"

但只有当您手写打印机名称时,它才会打开属性。

我想知道是否有类似的 cmd 命令可以显示默认打印机的打印机属性和打印机首选项,而无需编写打印机名称。

我尝试使用rundll32 printui.dll,PrintUIEntry /e /n "%printer_name%",但它给出了错误。

【问题讨论】:

报错信息为:打印首选项无法显示,操作无法完成0x000007c 【参考方案1】:

您可以列出打印机并找到默认值,然后启动命令。:

for /f "tokens=1*" %%a in ('wmic printer get name^, default ^| find /i "TRUE"') do echo "%%~b"

上面只是列出了默认值,下面的代码将执行您在示例中手动输入的内容:

for /f "tokens=1*" %%a in ('wmic printer get name^, default ^| find /i "TRUE"') do rundll32 printui.dll,PrintUIEntry /e /n %%~b

您可能会在代码中遇到不需要的空格,然后只需分配一个变量并将多个空格替换为无。

for /f "tokens=1*" %%a in ('wmic printer get name^, default ^| find /i "TRUE"') do set printer=%%b
rundll32 printui.dll,PrintUIEntry /e /n "%printer:   =%"

编辑。

for /f "tokens=1*" %%a in ('wmic printer get name^, default ^| find /i "TRUE"') do set printer=%%b
Set "printer=%printer:   =%"
rundll32 printui.dll,PrintUIEntry /e /n "%printer:  =%"

【讨论】:

我不断收到错误消息,唯一有效的情况是传真设置为默认打印机。 你试过最后一个了吗? 是的,我也试过第三个,它告诉我检查打印机名称 哦,没关系,看来打印机必须打开才能工作。谢谢你的代码:) 在所有可能的情况下都能完美运行,非常感谢。

以上是关于显示默认打印机的属性和首选项的主要内容,如果未能解决你的问题,请参考以下文章

Android开发 - 文件保存状态和首选项

iText7高级教程之构建基础块——7.处理事件,设置阅读器首选项和打印属性

iText7高级教程之构建基础块——7.处理事件,设置阅读器首选项和打印属性

MCD 机电一体化概念设计首选项

水晶报表设置纸张大小

状态栏首选项不起作用:phonegap 版本 3.6.3