我使用以下方法挂钩键盘事件:
HookManager.KeyUp += new KeyEventHandler(HookManager_KeyUp);
然后通过以下方式等待键盘事件:
public void HookManager_KeyUp(object sender, KeyEventArgs e)
{
StepInfo step = new StepInfo();
step.keyALT = e.Alt;
step.keyCTRL = e.Control;
step.keySHIFT = e.Shift;
step.KeyHandle = e.Handled;
step.keySuppress = e.SuppressKeyPress;
step.keyCode = e.KeyCode;
step.keyData = e.KeyData;
step.keyValue = e.KeyValue;
step.modifiers = e.Modifiers;
}
我想检查组合键shift、ctrl和alt其他控制键。示例:shift+ a, ctrl+ f.. 等 但我都是 e.KeyData,它只返回 A、B、C 等字母键,但 e.Alt、e.Shift 和 e.Control 始终为“假”值。
我该如何检查,用户是否按下A或shift+ A。