我发现这个脚本可以改变系统音量并且它可以工作。但是这些常量代码被调用了什么?我在哪里可以找到这些代码的完整列表来做更多事情。
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
//Volume codes, or messages, or whatever they are called
const int VOLUME_MUTE = 0x80000;
const int VOLUME_DOWN = 0x90000;
const int VOLUME_UP = 0xA0000;
SendMessage(this.Handle, 0x319, IntPtr.Zero, (IntPtr)VOLUME_UP);
答案 0 :(得分:1)
这些是AppCommand消息。
0x319是WM_APPCOMMAND的Win32 Windows MSG,消息更准确APPCOMMAND_VOLUME_UP等...
AppCommand消息是发送到窗口的消息,它们在全局级别处理并执行某些应用程序功能。这些往往与键盘热键和鼠标按键功能相关联。
你的应用程序首先处理任何此类消息,如果你不处理它们,那么你的应用程序父母会这样做。如果它不处理它们,那么它最终会被发送到全局消息钩子来处理它们。这里的关键点是其他窗口可以捕获这些消息,因此不能保证发送这些消息将完成任务。就像您可能已经看到在某些窗口具有焦点时在键盘上向上或向下按音量的情况可能并不总是有效。
您可以在Win32 API参考中找到所有消息的详细信息:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646275(v=vs.85).aspx