【发布时间】:2015-08-03 01:40:56
【问题描述】:
我有一个窗口很小的 WPF 应用程序。它位于桌面上,但非常小。我已经通过RegisterHotKey Win32 API 设置了 AltGr+A 或 Ctrl+Alt+A 的热键。
我遇到的问题是,当我在另一个程序中并使用我的快捷方式时,热键有效,我的窗口通过 winProc 活跃起来,我在窗口焦点上给出了一个文本框,我也使用 Keybord.Focus(textBox)。
我的意图是用户可以立即开始输入。不幸的是,除非我真的非常快地放开组合键,否则窗口/文本框会失去焦点。
我试图阻止文本框失去焦点,但这并不能阻止我的窗口或整个应用失去焦点,这就是正在发生的事情。
我应该怎么做?
【问题讨论】:
-
我们可以看看你的代码吗?
-
卸载夺回焦点的程序。
-
哪个代码?热键有效。 Winproc 获取热键消息。设置焦点,keyboard.focus 也可以。实际上我认为问题是,我的应用程序在按键按下时收到消息,但当前前面的应用程序重新关注按键按下事件。