我尝试在这里使用这篇文章:在 WPF / C# 中使用全局键盘钩子 (WH_KEYBOARD_LL) https://stackoverflow.com/questions/1639331/using-global-keyboard-hook-wh-keyboard-ll-in-wpf-c-sharp我已经成功地工作了。
但有件事我无法回避。
它可以检测按下的每个按键,但我喜欢让我的应用程序通过组合键执行某些操作。
void KListener_KeyDown(object sender, RawKeyEventArgs args)
{
Console.WriteLine(args.Key.ToString());
if (args.Key == Key.LeftCtrl && args.Key == Key.C)
{
MessageBox.Show(args.Key.ToString());
}
}
显然,这不起作用,因为 void 仅适用于每个键(如果我理解正确的话)
所以我真的需要一些帮助来让它适用于组合键,例如 Ctrl + C
有人可以把我推向正确的方向吗?
存储按下的键的值,并在下次调用您的方法时检查此存储的值和实际值是否是您的按键组合。
var lastKey;
void KListener_KeyDown(object sender, RawKeyEventArgs args)
{
Console.WriteLine(args.Key.ToString());
if (lastKey == Key.LeftCtrl && args.Key == Key.C)
{
MessageBox.Show(args.Key.ToString());
}
lastKey = args.Key;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)