使用C#使Windows卷静音

时间:2020-03-06 14:56:09  来源:igfitidea点击:

有人知道如何使用C#以编程方式使Windows XP Volume静音吗?

解决方案

我们可能需要使用MCI命令:
http://msdn.microsoft.com/zh-CN/library/ms709461(VS.85).aspx

我应该补充一点,尽管这将使我们对Windows中的输入和输出混音器有很好的一般控制,但是我们可能在进行详细控制(例如设置麦克风增强等)时会遇到一些困难。

哦,如果我们使用的是Vista,那就算了。这是完全不同的模型。

我们可以按照以下说明使用P / Invoke:http://www.microsoft.com/indonesia/msdn/pinvoke.aspx。它实际上通过顶部附近的任务1:静音和取消静音中的步骤来完成。

如果我们运行的是Vista,我碰到了一个可能很感兴趣的项目。

为P / Invoke声明此内容:

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);