2012-11-15 33 views
2

我正在使用NSIS創建安裝程序。如何根據安裝時的用戶語言選擇更改標題圖像(MUI_HEADERIMAGE_BITMAP)?基於語言選擇的NSIS更改標題圖像

+0

你能解釋一下你已經厭倦了嗎? – Iain

+0

我試過的最後一件事是在.onInit中調用GetDlgItem $ mui.Header.Image,但我不知道如何在安裝程序包中包含其他圖像。請原諒我,如果我不使用正確的術語。我是NSIS的新手。 – user1827055

+0

沒有HWND在.onInit中有效... – Anders

回答

1
!define MUI_HEADERIMAGE 
!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit 
!include MUI2.nsh 
!insertmacro MUI_PAGE_WELCOME 
!insertmacro MUI_PAGE_COMPONENTS 
... 
!insertmacro MUI_LANGUAGE English 
!insertmacro MUI_LANGUAGE Swedish 

Function .onInit 
    !insertmacro MUI_LANGDLL_DISPLAY 
FunctionEnd 

Function myGUIInit 
    InitPluginsDir 
    ${If} ${LANG_ENGLISH} = $Language 
     File "/oname=$PluginsDir\langspecifichdr.bmp" "${NSISDIR}\Contrib\Graphics\Header\orange.bmp" 
    ${Else} 
     File "/oname=$PluginsDir\langspecifichdr.bmp" "${NSISDIR}\Contrib\Graphics\Header\win.bmp" 
    ${EndIf} 
    SetBrandingImage /IMGID=1046 "$PluginsDir\langspecifichdr.bmp" 
FunctionEnd