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