WPF中Windows激活的Alt选项卡问题

WPF中Windows激活的Alt选项卡问题,wpf,windows,events,key,Wpf,Windows,Events,Key,在我的应用程序中,我有一个映射到tab键的特殊操作。问题是,当你使用快捷的Alt键在不同的应用程序之间切换时,我的应用程序在激活时会得到一个Tab键(但不是Alt键),这是我想要避免的。这种情况有时会发生(并非总是如此),特别是当你快速切换应用程序时 我可以通过检查Keyboard.IsKeyDown(Key.LeftAlt)将其过滤掉,但在这种情况下,我的应用程序没有获得Alt键。有什么提示吗?我遇到了一个问题,KeyUp事件处理程序没有注册e.Key==Key.LeftAlt。相反,我不得不

在我的应用程序中,我有一个映射到tab键的特殊操作。问题是,当你使用快捷的Alt键在不同的应用程序之间切换时,我的应用程序在激活时会得到一个Tab键(但不是Alt键),这是我想要避免的。这种情况有时会发生(并非总是如此),特别是当你快速切换应用程序时


我可以通过检查
Keyboard.IsKeyDown(Key.LeftAlt)
将其过滤掉,但在这种情况下,我的应用程序没有获得Alt键。有什么提示吗?

我遇到了一个问题,KeyUp事件处理程序没有注册
e.Key==Key.LeftAlt
。相反,我不得不使用
e.SystemKey==Key.LeftAlt
。也许您正面临类似的问题(尽管我不知道您是否使用KeyUp/KeyDown事件处理程序)


另一个尝试是
Keyboard.Modifiers==ModifierKeys.Alt
或者甚至
KeyboardDevice.Modifiers==ModifierKeys.Alt
以过滤掉Alt.

我认为可以帮上忙。谢谢你的提示,Ramin,但总的来说,我希望避免全局钩子,这可能会让系统慢一点,正如我所读到的,一些反病毒程序甚至用globalhook过滤掉应用程序。当你的程序通过Alt-Tab激活时,你有没有找到一种方法来检测Alt和Tab?