Winapi 如何播放标准windows声音?

Winapi 如何播放标准windows声音?,winapi,audio,Winapi,Audio,如何查找用户在控制面板中配置的声音文件 示例:我想播放“设备已连接”的声音 哪个API可用于查询控制面板声音设置 我看到在“控制面板”对话框中有一些由第三方程序创建的自定义条目,因此这些程序必须有一种与全局声音设置通信的方式 编辑:谢谢。我不知道PlaySound在指定注册表项的名称时也只是播放适当的声音文件 要播放“设备连接”声音,请执行以下操作: 是API,另请参见以下文章: 不是Win32,但是对于.net,您可以使用C#中的以下命令来执行此操作: 另一个系统听起来如何,比如“设备连接”

如何查找用户在控制面板中配置的声音文件

示例:我想播放“设备已连接”的声音

哪个API可用于查询控制面板声音设置

我看到在“控制面板”对话框中有一些由第三方程序创建的自定义条目,因此这些程序必须有一种与全局声音设置通信的方式

编辑:谢谢。我不知道PlaySound在指定注册表项的名称时也只是播放适当的声音文件

要播放“设备连接”声音,请执行以下操作:


是API,另请参见以下文章:


不是Win32,但是对于.net,您可以使用C#中的以下命令来执行此操作:


另一个系统听起来如何,比如“设备连接”或“新邮件”?@Anthony我认为你不能在.net中做到这一点。您需要使用P/Invoke。您是如何/在哪里找到声音的适当别名的?我正在查找“sms received”声音的示例。我在HKEY_CURRENT_USER\AppEvents\EventLabels的注册表中找到了一个列表。
::PlaySound( TEXT("DeviceConnect"), NULL, SND_ALIAS|SND_ASYNC );
System.Media.SystemSounds.Asterisk.Play();
// Plays the Asterisk sound (used for Information (i))
// Also available:
// Exclamation (Warning /!\)
// Hand (aka Critical Stop - Error (X))
// Question (?)
// Beep (aka Default Beep)