WM_APPCOMMAND控制音量&使用C#静音

时间:2014-05-09 03:18:56

标签: c# system volume mute

我在C#程序中使用以下代码来控制system VOLUME _UP _DOWN _MUTE等。

我使用WM_APPCOMMAND消息执行此操作;然而,(,这是一个大而不是)我想知道它是否只能起作用,因为我使用了一个带有HOTKEYS的键盘,即(浏览器,电源,媒体播放器,电子邮件等)功能键上方键盘顶部的按钮。

我想知道我的代码是否适用于键盘没有配备HOTKEYS的笔记本电脑和个人电脑?

从研究中我发现这些WM_APPCOMMAND的东西在一些消息线程中一直回到2001年,所以我怀疑它在XP,Vista和现在的Windows 7& 8.由于罗技和其他键盘/媒体控制台制造商等公司仍将其用于新产品,因此似乎并未被弃用。

如果它适用于没有 HOTKEYS 的键盘,我只需要它。

谢谢!

安东尼

private const uint APPCOMMAND_VOLUME_MUTE = 8;
private const uint APPCOMMAND_VOLUME_DOWN = 9;
private const uint APPCOMMAND_VOLUME_UP = 10;

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


//APPCOMMAND_VOLUME_DOWN
SendMessageW(this.Handle, WmAppcommand, this.Handle, (IntPtr)APPCOMMAND_VOLUME_DOWN);

//APPCOMMAND_VOLUME_UP
SendMessageW(this.Handle, WmAppcommand, this.Handle, (IntPtr)APPCOMMAND_VOLUME_UP);

0 个答案:

没有答案