注册多个热键,功能总是一样的,怎么使第二个注册的热键功能和第一个不一样..我是这么重写WndProc的,这样多个热键只能实现一种功能
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
……
break;
}
base.WndProc(ref m);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
……
break;
}
base.WndProc(ref m);
}
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY: ProcessHotkey(m);
break;
} base.WndProc(ref m);
} private void ProcessHotkey(Message m)
{
IntPtr id = m.WParam;
int sid = (int)id;
switch (sid)
{
case 310: ;
break;
case 311:
break;
case 312:
break;
}
}
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
if (m.WParam.ToString().Equals(ID))
……
break;
}
base.WndProc(ref m);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;//如果m.Msg的值为0x0312那么表示用户按下了热键
switch (m.Msg)
{
case WM_HOTKEY:
switch (m.WParam.ToInt32())
{
case 100: //按下的是Shift+S
break;
case 101: //按下的是Ctrl+B
break;
case 102: //按下的是Alt+D
break;
}
break;
}
base.WndProc(ref m);
}