18

在 Google 上快速搜索Windows 中的Focus Stealing解决方案会显示两个主要的结果类别:

  • 人们建议涉及 ForegroundLockTimeout 注册表项(或 TweakUI,我相信它只是更改上述注册表项)的不完整解决方案,这不是很有效。
  • 不断成群的 Windows 用户抱怨

在两种常见情况下特别烦人:

  • 当全屏应用程序聚焦时,某些东西会触发程序在后台弹出一个对话框窗口,从而导致全屏应用程序最小化。

  • 当你打字时,一个窗口会窃取焦点,窃取你所有的击键。如果您碰巧按了 Space、Enter 或触发键盘快捷键(如 Y 表示 Yes),可能会导致完全不受欢迎的结果。

可以应用哪些创造性的解决方案来解决这两种情况之一或两种情况下的问题?

4

1 回答 1

2

我对如何解决它有一个建议,但由于我缺乏知识,我无法完全实施。

窗口之间的焦点变化必须由调用 Windows API 函数的违规程序发起,该函数很可能位于 shell32 或 user32 中。一些程序,如 Adob​​e Photoshop,会多次(至少两次)调用,以在启动时强制用户自行启动。这个想法是挂钩这个 API 函数(如果可能的话)并检查调用的来源。如果它不是来自explorer.exe(即 Alt+Tabbing 或单击任务栏上的图标),则调用应该被所述钩子阻止。

于 2011-10-12T16:33:43.953 回答