在 Inno Setup 中播放原生 Windows 声音

Playing native Windows sounds in Inno Setup

有什么方法可以使用 Inno Setup 播放 Windows 原生声音吗?

例如,我正在显示一个自定义消息框,我需要在显示该消息之前播放 Windows warning/info/error 声音。有什么办法吗?

使用PlaySound WinAPI function:

const
  SND_ASYNC = [=10=]01;
  SND_ALIAS = [=10=]010000; 

function PlaySound(pszSound: string; hmod: THandle; fdwSound: DWORD): BOOL;
  external 'PlaySoundW@Winmm.dll stdcall';

像这样使用它:

PlaySound('SystemQuestion', 0, SND_ALIAS or SND_ASYNC);

有关标准声音别名的列表,请参阅:
https://docs.microsoft.com/en-us/windows/win32/multimedia/using-playsound-to-play-system-sounds