c# 注册系统热键,CTRL+ a~z 都响应,但是CTRL + 鼠标左 / 右键不响应?
load事件中的注册热键代码:
MessageBox.Show(RegisterHotKey(this.Handle, 888, 2, Keys.RButton).ToString());
这个是响应代码:
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0312: //这个是window消息定义的 注册的热键消息
if (m.WParam.ToString().Equals("888")) //如果是我们注册的那个热键
this.Show();
this.WindowState = FormWindowState.Normal;
MessageBox.Show("aaaaaaaaa");
break;
}
base.WndProc(ref m);
注册热键建议注册全局热键,不然很容易出现光标不在组件上面出现热键无效的情况!
本文出自《粉墨记忆》 => 《【C#】注册全局热键 监听按键 Hotkey》