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