安装过程中播放背景音乐

优质
小牛编辑
119浏览
2023-12-01
SetCompressor lzma后面加以下代码:

ReserveFile "${NSISDIR}\Plugins\system.dll"
ReserveFile "天鹅湖.mp3"

然后在 Section 区段后面加入 Function 区段:

Function .onInit
  InitPluginsDir
  File "/oname=$PLUGINSDIR\bgm_天鹅湖.mp3" "天鹅湖.mp3"
  ; 打开音乐文件
  System::Call "winmm.dll::mciSendString(t 'OPEN $PLUGINSDIR\bgm_天鹅湖.mp3 TYPE MPEGVIDEO ALIAS BGMUSIC', t .r0, i 130, i 0)"
  ; 开始播放音乐文件
  System::Call "winmm.dll::mciSendString(t 'PLAY BGMUSIC NOTIFY', t .r0, i 130, i 0)"
FunctionEnd

Function .onGUIEnd
  ; 停止播放音乐文件
  System::Call "winmm.dll::mciSendString(t 'STOP BGMUSIC',t .r0,i 130,i 0)"
  ; 关闭音乐文件
  System::Call "winmm.dll::mciSendString(t 'CLOSE BGMUSIC',t .r0,i 130,i 0)"
FunctionEnd