安装打印机但不要将其设为默认打印机 (windows, nsis)
install printer but dont make it default printer (windows, nsis)
我编写了一个设置 NUL: 端口并安装打印机驱动程序然后安装打印机的安装程序。但是,当我 运行 它在管理员帐户下时,打印机始终设置为默认打印机。
我怎样才能阻止这种情况发生?
这是设置打印机的代码:
ReadRegStr HKLM "SYSTEM\CurrentControlSet\Control\Print\Printers$DisplayName" "Name"
${If} ${Errors}
ExecWait '$SYSDIR\rundll32.exe printui.dll,PrintUIEntry /if /r "$PrinterPort" /b "$DisplayName" /z /Gw /f "$DriverPath" /m "$DriverModel"'
${EndIf}
对此我没有很好的答案。 This blog post 文档 /y
作为设置默认打印机的开关,但我没有看到防止更改默认打印机的开关。您可以尝试 /-y
或 /y-
,但我真的怀疑它们是否受支持。
您可以读取 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
下的 Device
值以获取当前默认值,然后在完成后使用 RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "$SavedPrinterName"
恢复它,但这有点 hack 并且只会影响当前用户。
如果您是硬件制造商,您或许可以向微软支持寻求官方答复...
我编写了一个设置 NUL: 端口并安装打印机驱动程序然后安装打印机的安装程序。但是,当我 运行 它在管理员帐户下时,打印机始终设置为默认打印机。
我怎样才能阻止这种情况发生?
这是设置打印机的代码:
ReadRegStr HKLM "SYSTEM\CurrentControlSet\Control\Print\Printers$DisplayName" "Name"
${If} ${Errors}
ExecWait '$SYSDIR\rundll32.exe printui.dll,PrintUIEntry /if /r "$PrinterPort" /b "$DisplayName" /z /Gw /f "$DriverPath" /m "$DriverModel"'
${EndIf}
对此我没有很好的答案。 This blog post 文档 /y
作为设置默认打印机的开关,但我没有看到防止更改默认打印机的开关。您可以尝试 /-y
或 /y-
,但我真的怀疑它们是否受支持。
您可以读取 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
下的 Device
值以获取当前默认值,然后在完成后使用 RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "$SavedPrinterName"
恢复它,但这有点 hack 并且只会影响当前用户。
如果您是硬件制造商,您或许可以向微软支持寻求官方答复...