录制按键时是否可以抑制 Windows 全局快捷方式?
我有一个用 c# 编写的 Windows 窗体应用程序,并使用这个库来记录按键以便稍后在宏中使用。现在,当我记录 Windows 使用的组合键(即 L Control + Win + Right Arrow 以更改 Win 10 上的虚拟桌面)时,我希望我的应用程序记录它,但在我记录时避免 Windows 实际使用它很烦人。
我有一个复选框来启用键捕获,点击事件
m_KeyboardHookManager.KeyDown += HookManager_KeyDown;
HookManager_KeyDown 就是这样
private void HookManager_KeyDown(object sender, KeyEventArgs e)
{
Log(string.Format("KeyDown \t\t {0}\n", e.KeyCode));
string [] sArr = new string [2];
if (keyBindingArea1.Text != "")
{
sArr[0] = keyBindingArea1.Text;
sArr[1] = string.Format("{0}", e.KeyCode);
keyBindingArea1.Text = string.Join("+", sArr);
}
else
{
keyBindingArea1.Text = string.Format("{0}", e.KeyCode);
}
}
在 comboText 控件中显示组合键。(此代码直接取自软件包附带的演示。
现在录制效果很好,例如我按下 L Control + Win,然后松开按键并按下第三个键(即右箭头),这不会触发 Windows 快捷方式,但让它这样工作很烦人。
感谢任何帮助。谢谢