C#获得主音量/ precent

Ron*_*Ron 8 .net c#

我有这个代码来静音/取消静音主音量

private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;

[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_MUTE);
Run Code Online (Sandbox Code Playgroud)

我想知道如何获得主音量/ precent,因为我想知道声音是否已经静音.

编辑:或者我想分开静音/取消静音,这样我就有两个功能 - 一个用于静音,另一个用于静音.

谢谢

Ron*_*Ron 1

我无法对所有 Windows 版本(xp、vista 和 7)执行此操作。
不过,我通过使用外部程序(例如NirCmd )来实现它,并发送我需要的命令。

不是很好的解决方案,但它确实解决了我的问题。