我有一台 Windows XP 机器,运行两个应用程序,并且都通过串行端口连接的热敏打印机进行打印。
对于一个应用程序,“通用/仅文本”打印机必须存在,为了使另一个应用程序工作,我需要将其删除。
我找到了一些 .vbs 脚本,但它们是用于网络打印机的。如何让它们与本地打印机配合使用?有更好的解决方案吗?用户每次需要从一个应用程序切换到另一个应用程序时都必须运行该脚本。
答案1
删除本地打印机:
rundll32 printui.dll,PrintUIEntry /dl /n "HP DesignJet 755CM/PS"
安装本地打印机:
rundll32 printui.dll,PrintUIEntry /if /b "HP DesignJet 755CM/PS" /f "%windir%\inf\ntprint.inf " /r "FILE:" /m "HP DesignJet 755CM/PS"
将打印机设置为默认打印机:
rundll32 printui.dll,PrintUIEntry /y /n "HP DesignJet 755CM/PS"
答案2
我还没有能力在评论中提问,所以我将尝试提供答案...是的,您可以编写 VBS,这对于切换打印机很方便,但您编写 VBS 是为了更改默认值还是像卸载一样实际“删除”它?这是一台打印机还是两台?从您的问题来看,两个应用程序似乎从同一台打印机打印。
我确实知道,对于某些程序,您实际上可以为该程序设置打印机,即使默认打印机是不同的(以 MS Access 为例)。
如果用户无法根据自己的权限级别更改打印机,那么您可能需要编写一段脚本来覆盖并为他们更改它。