我有一个带有按钮的 vb.net 应用程序;当我单击按钮时,它应该会显示一条消息,说明系统声音是打开还是关闭。
我该怎么做?
系统声音是指系统播放的声音,例如“星号”、“手”等。这些声音通常在弹出消息框时出现。这些声音可以在音量混合器中关闭或打开。我希望我的应用程序在单击按钮时显示消息“系统声音已打开”或“...关闭”,因为系统声音在音量混合器中打开或关闭。
下图显示了在音量混合器窗口中关闭的系统声音。
我有一个带有按钮的 vb.net 应用程序;当我单击按钮时,它应该会显示一条消息,说明系统声音是打开还是关闭。
我该怎么做?
系统声音是指系统播放的声音,例如“星号”、“手”等。这些声音通常在弹出消息框时出现。这些声音可以在音量混合器中关闭或打开。我希望我的应用程序在单击按钮时显示消息“系统声音已打开”或“...关闭”,因为系统声音在音量混合器中打开或关闭。
下图显示了在音量混合器窗口中关闭的系统声音。
您可以使用 NuGet 包AudioSwitcher.AudioApi.CoreAudio
和以下代码执行此操作。
Imports AudioSwitcher.AudioApi.CoreAudio
Module Module1
Sub Main()
Dim dev As CoreAudioDevice = New CoreAudioController().DefaultPlaybackDevice
If dev.IsMuted Then
Console.WriteLine("Volume muted.")
Else
Console.WriteLine("Volume not muted.")
End If
End Sub
End Module
如果您将系统声音方案更改为“无声音”(意味着系统声音全部关闭):
然后HKEY_CURRENT_USER\AppEvents\Schemes
默认键将显示为.None
;否则,它将显示方案的名称。您可以测试系统声音是否全部关闭但正在检查.None
。
If Registry.GetValue("HKEY_CURRENT_USER\AppEvents\Schemes", "", String.Empty).ToString = ".None" Then
Debug.Print("System Sounds are Off")
Else
Debug.Print("System Sounds are On")
End If