如何根据系统颜色更改 NSIS 安装程序背景颜色

How to change NSIS installer background color based on system color

似乎 NSIS 已将背景颜色硬编码为白色。

每当打开高对比度时,背景保持白色,而文本恢复为白色(以符合高对比度)。

有没有办法确定当前的系统颜色并相应地更改背景?

如果您不使用依赖于白色背景的 wizard/header 图片,您可以简单地执行

!define MUI_BGCOLOR "SYSCLR:Window"
!include MUI2.nsh
...

在最新版本的 NSIS v3 中

如果你想在白色上强制使用黑色,那么你必须手动更改现代 UI .nsh 文件。查找看起来像 SetCtlColors $SomeNameHere "" "${MUI_BGCOLOR}" 的行并将它们更改为 SetCtlColors $SomeNameHere "000000" "FFFFFF".

扩展一下 ... 上面的代码还将修复高对比度模式下的欢迎文本。我什至认为,出于可访问性的原因,所有安装程序都应默认设置。

!define MUI_BGCOLOR "SYSCLR:Window"
!define MUI_TEXTCOLOR "SYSCLR:WindowText"
!include MUI2.nsh
...