1

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

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

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

有没有办法规避 Windows 焦点窃取预防?谢谢你。

4

1 回答 1

1

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

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

于 2010-08-18T07:55:39.560 回答