【问题标题】:Steal focus to implement system-wide search box窃取焦点以实现系统范围的搜索框
【发布时间】:2010-08-16 08:22:16
【问题描述】:

在我的应用程序 (http://tabbles.net) 中,我需要提供一个 “全局搜索”快捷键,就像您在 google 桌面中看到的那样:如果您随时按 CTRL+CTRL(无论哪个应用程序处于活动状态并具有键盘焦点),必须弹出一个对话框,您必须能够在其中键入搜索文本并按 Enter。

需要从活动的应用程序中窃取焦点

到目前为止,我已经能够安装一个全局键挂钩并使用它来检测组合键并显示一个对话框。我把对话框放在最上面,所以它总是出现在活动应用程序的顶部。但是,如果不先用鼠标单击对话框,用户就无法在对话框中键入任何内容,因为我无法将焦点放在对话框内的文本框上。所以用户在输入之前必须用鼠标点击,这是一种负担。

是否有办法规避 Windows 焦点窃取防护?谢谢。

【问题讨论】:

    标签: focus-stealing


    【解决方案1】:

    我可以通过使用 RegisterHotKey 而不是全局键挂钩来做到这一点。

    重要提示:我还需要使用 System.windows.input.Keybord.Focus(textbox) 而不仅仅是 textbox.focus()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      相关资源
      最近更新 更多