如何使用 nsis 在我的设置中添加背景?

问题描述 投票:0回答:4

我正在为我的应用程序创建一个

setup.exe
,我正在使用 nsis setup creator,我正在 ubuntu 上编译。

现在我想自定义设置以显示背景图像,如下所示:

nsis setup

如何使用 nsis 在我的设置中添加背景?

installation nsis
4个回答
3
投票

一个线索是,使用 Resource hacker 编辑所需的 UI 可执行文件并在其上添加图片控件。

您可以在系统路径中找到可用的 UI 模块: C:\Program Files\NSIS\Contrib\UIs.

完成编辑后,在脚本中使用 !define MUI_UI 定义自定义 UI 并进行相应处理。


2
投票

你的图片其实就是这张:http://www.graphical-installer.com/joomla/images/stories/gallery/projects/gallery-4.jpg

因此您可以使用该软件 - NSIS 的图形安装程序 - 无需任何努力或编程即可实现完全相同的效果:)

作为该软件的作者,我可以说实现这样的设计真的很容易:

  1. 在安装程序 UI 上添加自定义控件(使用 ResHacker)- 最好是创建新的 UI 文件,这样您以前的安装程序就不会被破坏
  2. 从文件加载图像到控件中——使用 WinAPI 调用或一些 NSIS 包装器。请记住,图片路径必须位于最终用户计算机上的某个位置,例如$温度

(与hypheni说的相同,但有更多细节)


2
投票

更多详情请参考以下代码片段

Var hBitmap
!define MUI_CUSTOMFUNCTION_GUIINIT CustomGUIInit

Function CustomGUIInit
    InitPluginsDir
    ReserveFile `${BMP_HEAD}`
    File `/ONAME=$PLUGINSDIR\head.bmp` `${BMP_HEAD}`

    GetDlgItem $R1 $HWNDPARENT 1034
    System::Call `user32::LoadImage(i 0, t "$PLUGINSDIR\head.bmp", i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_LOADFROMFILE}) i.s`
    Pop $hBitmap
    SendMessage $R1 ${STM_SETIMAGE} ${IMAGE_BITMAP} $hBitmap
FunctionEnd

以上代码是从user32.dll 调用LoadImage Win32 API 函数,并通过SendMessage 调用设置为windows 控件。


0
投票

answser 在这里

==> nsis : 如何在 MUI_PAGE_INSTFILES 中使用 nsdialog 或函数插入背景图片

© www.soinside.com 2019 - 2024. All rights reserved.