【问题标题】:Configuring a printer's redirect port via prompt通过提示配置打印机的重定向端口
【发布时间】:2017-08-09 18:51:01
【问题描述】:

我一直在尝试为我用 Java 编写的程序创建一个安装程序,它实现了 GhostScript,它创建了一个虚拟打印机,文件被发送到该打印机。然后我的程序读取文件并进行相应的管理。但是,我必须手动配置 RedMon 重定向端口 (RPT1:) 并使用该端口手动创建一个新打印机,并将 .jar 文件作为参数:

在打印机端口上配置的参数:

我能够通过 NSIS(我用来创建安装程序的程序)创建一台新打印机,如下所示:

Exec 'cscript "C:\Windows\System32\Printing_Admin_Scripts\pt-BR\prnport.vbs" ^ -a -r RPT1:'
ExecWait 'rundll32 printui.dll,PrintUIEntry /if /f "$INSTDIR\ghostpdf.inf"^ /r "RPT1:" /m "Ghostscript PDF" /b "Impressora SPE" /u /Y'

有没有办法通过命令来配置端口?如果可能的话,我想为我的程序创建一个单独的端口(目前我正在使用默认的 RedMon 端口),但也在安装时将 Java 参数传递给它,因此最终用户不必手动包含这些论据。我到处寻找,但我发现的每篇指南和文章都是手动完成的。

感谢您的帮助!

【问题讨论】:

  • NSIS 标签的相关性如何?您正在调用外部事物...
  • 我正在通过 NSIS 传递用于安装打印机的命令,一旦程序安装,它会像您通常通过提示一样执行这些命令。我认为提及我正在使用 NSIS 可能会有所帮助,以防万一有某种特殊情况可能有用。

标签: java printing nsis redmon


【解决方案1】:

我花了一些时间挖掘,但我终于找到了使用 RedMon 设置新打印机端口所需的命令,我想我会在这里分享它,这样就减少了人们很难找到它的时候。

rundll32 "REDMONPATH\redmon32.dll", RedMonConfigurePort Port="PORT:" Command="JAVA" Arguments="-jar ""JAR"" ""C:\Program Files (x86)\gs\gs9.21\bin\gswin32c -I\""C:\Program Files (x86)\gs\gs9.21\lib\"" -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -r300"""

REDMONPATH 是 RedMon 安装文件夹的路径,PORT 是端口名称,JAVA 是 java.exe 的路径,JAR 是 .jar 文件的路径。请保留双引号,这是我们通过命令传递引号的方式。但是,您必须在 RedMon 安装文件夹上运行此命令。此外,您必须以管理员身份运行,否则您可能会收到错误并错误地认为您做错了什么。在我的例子中,使用 NSIS,这是完整的命令行:

ExecWait 'rundll32 "$INSTDIR\redmon\redmon32.dll", RedMonConfigurePort Port="SPE:" Command="C:\Program Files (x86)\Java\jre1.8.0_144\bin\java.exe" Arguments="-jar ""C:\Program Files (x86)\Impressora SPE\ImpressoraSPE.jar"" \""C:\Program Files (x86)\gs\gs9.21\bin\gswin32c -l \""C:\Program Files (x86)\gs\gs9.21\lib\"" -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -r300"""'

之后,您就可以正常使用新端口安装新打印机了:

ExecWait 'rundll32 printui.dll,PrintUIEntry /if /f "$INSTDIR\ghostpdf.inf" /r "PORT:" /m "Ghostscript PDF" /b "PRINTER_NAME" /u /Y'`

如果您尝试从命令提示符而不是 NSIS 运行它,您所要做的就是删除“ExecWait”位和命令周围的单引号。还要用相应的完整路径替换“$INSTDIR\something”。

如果其他人在这个问题上需要进一步的帮助,鉴于我个人在这方面遇到了很大的困难,请随时在这里问他们,我会尽力提供帮助!

编辑:对于不断的编辑,我深表歉意,只是确保留下对大多数人有帮助的说明,因为我在不同版本的 Windows 中测试这些内容。

【讨论】:

    猜你喜欢
    • 2012-05-11
    • 2015-06-06
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多