我花了一些时间去挖掘,但我终于找到了使用 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 中测试这些说明。