通过 Google 快速搜索 Focus Stealing 的解决方案在 Windows 中显示两个主要结果类别:
- 提出不完整解决方案的人涉及 ForegroundLockTimeout 注册表项(或 TweakUI,我认为它只是更改了上述注册表项), 这不是很有效。
- Incessant hordes Windows 用户 complaining关于it .
在两种常见情况下特别烦人:
某事会触发程序在全屏应用程序处于焦点状态时在后台弹出对话框窗口,从而导致全屏应用程序最小化。
在您打字时,一个窗口会窃取焦点,窃取您所有的击键。如果您碰巧按下空格键、Enter 键或触发键盘快捷键(例如 Y 表示是),可能会导致完全不希望的结果。
对于这两种情况中的一种或两种情况,可以应用哪些创造性的解决方案来解决此问题?
最佳答案
我有一个关于如何解决它的建议,但由于我缺乏知识,我无法完全实现。
窗口之间的焦点变化必须由调用最有可能位于 shell32 或 user32 中的 Windows API 函数的违规程序引起。某些程序,如 Adobe Photoshop 会多次(至少两次)调用以在启动时强制用户使用。这个想法是挂接到此 API 函数(如果可能)并检查调用的来源。如果它不是来自 explorer.exe(即 Alt+Tabbing 或单击任务栏上的图标),则调用应被所述 Hook 阻止。
关于windows - 如何防止 Windows 中的焦点窃取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819277/