【问题标题】:Alt-Tab issue on Windows Activation in WPFWPF 中 Windows 激活的 Alt-Tab 问题
【发布时间】:2012-12-21 21:29:16
【问题描述】:

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

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

【问题讨论】:

  • 我认为Processing Global Mouse and Keyboard Hooks in C# 可以提供帮助。
  • 感谢您的提示,Ramin,但总的来说,我希望避免使用 Global Hook,这可能会稍微降低系统速度,并且一些防病毒程序甚至会过滤掉带有 global 的应用程序钩,我读到的。
  • 当你的程序通过 Alt-Tab 激活时,你有没有找到检测 Alt 和 Tab 的方法?

标签: wpf windows events key


【解决方案1】:

我遇到了 KeyUp 事件处理程序未注册 e.Key == Key.LeftAlt 的问题。相反,我不得不使用e.SystemKey == Key.LeftAlt。或许您也面临类似的问题(虽然我不知道您是否使用 KeyUp/KeyDown 事件处理程序)?

要尝试的另一件事是 Keyboard.Modifiers == ModifierKeys.Alt 甚至可能是 KeyboardDevice.Modifiers == ModifierKeys.Alt 以过滤掉 Alt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2010-12-28
    • 2017-03-18
    • 2010-11-23
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多