当用户按下网页上的按钮时,我有一个由浏览器插件调用的 dll。这个 dll 包含创建一个窗口的本机代码(在一个新的 UI 线程中),我需要这个窗口来获得键盘的焦点来创建它(用户期望的行为)。我不是想在用户面前弹出一个不需要的弹出窗口。
我尝试使用 SetForegroundWindow()、SetFocus()、BringWindowToTop()、AttachThreadInput(),最小化/恢复窗口,你说的,我都试过了。我取得的最大进展是让新窗口在任务栏中闪烁。
我需要能够做到这一点的原因是因为我需要考虑键盘可访问性,并允许用户使用我的新窗口而无需使用 alt-tab 键。
有人对如何在这里获得键盘焦点有任何建议吗?