我有一个WPF应用程序,它有一个非常小的窗口。它位于桌面上,但非常小。我已经通过RegisterHotKey
Win32 API设置了AltGr + A或Ctrl + Alt + A的热键。
我遇到的问题是,当我在另一个程序并使用我的快捷方式时,热键可以工作,我的窗口通过winProc生效,我在窗口焦点上给出一个文本框,我也使用Keybord.Focus(textBox)
。< / p>
我的意图是用户可以立即开始输入。不幸的是,除非我真的非常快速地让关键组合出现,否则窗口/文本框会失去焦点。
我试图阻止文本框失去焦点,但这并不能阻止我的窗口或整个应用程序失去焦点,这就是正在发生的事情。
我怎么想这样做?
答案 0 :(得分:0)
我发现它取决于当前正在运行并且具有焦点/活动的其他程序。实际上,当按下热键时,我的应用程序试图窃取焦点,这不是真正想要的东西。我发现微软自己的办公程序真的很讨厌被关注的焦点。
我的解决方案是使用Win32 API将我的应用程序设置为活动应用程序。但正如我所说,这并不总是有效。有很多文章,但这里是one on the topic.