模拟标准 Windows 弹出消息 提示音

Simulate Standard Windows Popup message Beep sound

我想模拟标准的 windows 弹出消息提示音,以便让我的脚本中的每个弹出消息都具有相同的声音效果。

在我的脚本中,我使用默认子句 MUI_ABORTWARNING 因此,当显示相关弹出消息时,会播放标准 windows 弹出消息 Beep。

出于我的目的,我尝试使用以下 API 调用但声音效果非常不同

System::Call "kernel32::Beep(i, i) b (${BEEP_FREQ_HZ}, ${BEEP_DURATION_MSEC})"

我该怎么做才能完成任务?

在此先感谢所有可以帮助我的人。

此致,

kernel32::Beep 尝试使用您机器中的小型硬件扬声器,如果不可用,它将使用默认系统声音。

使用MessageBeep生成标准音:

!define /IfNDef MB_ICONWARNING 0x00000030 ; You might want MB_ICONINFORMATION or MB_ICONSTOP instead
System::Call 'USER32::MessageBeep(i ${MB_ICONWARNING})'

如果您实际上是在您的 NSIS 代码中调用 MessageBox,那么您不需要调用 MessageBeep,如果您使用 MessageBeep 之一,将会调用 MessageBeep =16=]旗帜。