拾取击键组合的“正确/最佳”方法是什么?有问题的键是Ctrl + Alt + Q,我希望用户同时按下它们,在这一点上,我打开一个窗口。我目前正在做一个阵列,然后逐个捕获每个击键,但是我的结果并不一致,特别是在戴尔笔记本电脑/ Windows 7组合的特定组合上,但这是另一回事。拾取键击Ctrl-Alt-Q
所以花了5分钟的谷歌后,这只是一个粗略的版本后,看着msdn,但正如我前面说的是这个版本(未经测试)的正确/最好的方式做到这一点?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104;
if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch(keyData)
{
case Keys.Control | Keys.Alt | Keys.Q:
this.Parent.Text="<CTRL> + Alt + Q Captured";
break;
}
}
return base.ProcessCmdKey(ref msg,keyData);
}
谢谢,工作很好。 – flavour404
哦,是的,它的形式,而不是控制。 – flavour404