我花了一點時間挖掘,但終於找到了使用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是路徑到雷德曼安裝文件夾,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中測試這些指令時能夠幫助大多數人。
NSIS標籤是如何相關的?你正在調用外部事物... – Anders
我傳遞了通過NSIS安裝打印機的命令,一旦程序安裝完成,它就會像通常那樣通過提示執行這些命令。我認爲提及我使用NSIS是有幫助的,以防某些特殊情況下可能有用。 – Hugo