阻止程序在Windows 7中窃取焦点[重复]


20

这个问题在这里已有答案:

在Windows 7中,如果我启动一个程序并立即使其窗口处于非活动状态(例如通过最小化或切换窗口),它将在程序完全加载后弹回。

这是不可取的。我想让一个程序在后台加载而不会在它准备好后偷走焦点。例如,当我启动Photoshop时会发生这种情况。

有没有办法禁用这种行为?

Answers:


10

至少从我所做的研究来看,似乎XP中曾经存在一个注册表项 可以修改以实现此目的 但是,自从Windows 7以来,该注册表的更改一直无效(有一个非常激烈的 Microsoft论坛上的相关对话 对这个。)

我甚至发现了一个有趣的 博客文章 我们自己的杰夫阿特伍德在2007年写了这篇文章,尽管他的例子是在XP中。

论坛上的微软主持人似乎建议在Windows 7中默认正确编写应用程序 不能 窃取焦点(他们认为XP中的注册表调整是内置的),但在一天结束时,社区认为他们只是 错误 和一些应用程序

关于XP的超级用户的讨论已经结束,随着时间的推移,对于如何将解决方案应用于Windows 7的评论提出了问题。 HarryMC发布了一个很好的答案 那里有一些亮点。

在一天结束时,似乎没有办法在Windows 7中普遍实现这一点,因为它似乎对应用程序本身做了更多。经过一些测试后,我发现我的一些应用程序确实需要关注并获取它,而有些则没有。

替代方案

替代 我每天都在使用 总在最前面 替代链接 )。它绑定了 按Ctrl + 空间 热键使任何窗口始终在焦点上。

我在几乎任何我不知道不想要中断的程序中工作时都会使用它,因为它不会允许任何窗口覆盖它。但是,这可能是 更多 有些人讨厌我完成了习惯,在完成特定程序后点击热键,或者最小化它。

替代方案(我的观点)

像HarryMC在上面的回答中建议的那样的外壳更换是可行的解决方案。

虽然在我看来,如果你愿意完全取代Aero,或者完全取代Explorer,或者愿意完全取代Windows shell来获得这个功能(我不怪你),你就可以轻松取代Windows。

这就是我今年年初做的事情。学习ubuntu很有意思,但它更好。


1
“论坛上的微软主持人似乎暗示,在Windows 7中默认情况下,正确编写的应用程序不应该窃取焦点” 然而,所有Adobe软件都是这样做的。
James P.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.