“显示桌面”有时会将窗口设置为“始终在顶部”

Mep*_*ane 37 desktop windows-7 always-on-top

不用担心,不是另一个“我的显示桌面按钮去哪儿了”的问题。

我在 Windows 7 下发现,当您使用“显示桌面”功能(我更喜欢? Win+D快捷方式)然后再次使用它使所有窗口返回时,某些窗口的行为就像它们粘在 z- 的前面一样命令。这意味着,比如说,我打开了窗口 AB 和 C,重点放在 A 上,按? Win+D两次,现在可能会发生这样的情况,如果我想切换到 B 或 C,通过Alt+Tab或在任务栏,任务栏显示突出显示,但 A 在前景中保持可见(并且可用,这不仅仅是渲染问题)。

想象以下情况,所有三个窗口级联和重叠:

A(焦点)
B
C

-> ? Win+D

桌面(焦点)

-> ? Win+D

A(焦点)
B
C

-> 单击任务栏上的 C

A
C(焦点)
B

-> 单击任务栏上的 B

A
B(焦点)
C

等等。Focus 表示实际输入焦点,即在第二种情况下,任何键盘输入都发送到窗口 B,而窗口 A 在前台。

什么样的应用程序都没有关系;在我目前的情况下,一个 Outlook 实例和一个 Explorer 实例被卡住,而第二个 Explorer 实例和一个 Firefox 实例表现正常。这应该表明,即使在同一应用程序的多个实例之间也可能发生此问题,并且不存在喜欢假装它们是最重要的程序并在内部强制“始终在最前面”的花哨应用程序。

再次显示和取消显示桌面无济于事;在最坏的情况下,另一个窗口也可能以“粘在 z 顺序的顶部”而告终。在这些之间,我可以轻松切换,但为了获得一个仍然在顶部正常运行的窗口,我必须手动最小化有问题的窗口。

到目前为止,唯一的治疗方法似乎是关闭有问题的窗户,我还没有发现其他任何有用的东西。

可能是 Windows 7 有一个错误,可以在从“显示桌面”还原时将ALWAYS_ON_TOP标志强制添加到某些窗口上,还是我做错了什么?

更多信息:

? Win+d在 Win7-64bit-Ultimate 上易于复制的问题。

受影响的窗口(任何程序的)似乎被放置在一个单独的“Z”组中。您可以将多个/多个窗口置于此始终处于顶部状态,处于受影响状态的窗口将正常运行,但以下情况除外:

  • 该组作为一个整体始终位于任何未受影响的窗口的顶部
  • 整个组都在任务栏前面。
  • 整个组不响应(任务栏上的上下文)“级联窗口”或类似命令。

受影响的窗口位于任务栏顶部并作为“特殊窗口”发挥作用这一事实表明,Windows 7 必须具有隐藏的“始终显示”“功能”,该功能可与显示桌面功能一起应用。该功能似乎将窗口置于任务栏顶部的超级窗口状态(任务栏后面的正常组)。当您单击任务栏的开始菜单或上下文菜单时,开始菜单/任务栏会出现在 Always-on-top 组的前台,但这不会恢复受影响的窗口,只是临时接管,直到您切换到其他内容比开始菜单/任务栏。

这是找到答案的关键。我们如何让 Windows 取消分配特殊的超级状态或首先不进行分配?

来自另一个用户的更多信息: 它似乎已通过关闭所有窗口并重新启动来清除。最初我无法重现错误,然后在打开所有工作窗口后,我确实在任何窗口上重现了它。

我几乎认为它可以与Chrome的多个窗口有关进行初始化,然后一旦一个窗口有显示桌面问题就会出现。这是因为:在使用 chrome 会话保护程序(会话伙伴)并恢复会话并获得超级状态之后,我恢复并关闭了我所在的窗口,现在我又回到了无法重现的地方错误,即使在我的“工作环境”中,在两个窗口中有大约 35 个 chrome 选项卡,以及其他程序、文件位置、远程桌面和带有另外十几个选项卡的第二个 chrome 配置文件。

因此,回到寻找超级状态现象的真正发起者的第一个步骤。

一旦你真的遇到了超级状态问题,以下内容将重现:好的,我正在输入它:

打开chrome(查看这个网站),然后记事本,然后计算器,(可以是任何窗口,但为了演示,跟我来)

窗口应该正常运行,重叠您的窗口,以便您可以看到所有窗口的边缘,Z 顺序是(从前到后):顶部的浏览器,然后是计算器,然后是记事本(您应该能够看到背景窗口的一部分)。

现在,将浏览器置于顶部,按 win+d,然后再次按 win+d。

单击计算器,然后单击您的浏览器,您的浏览器现在卡在前台。单击记事​​本会将焦点带到记事本上,它会在计算器的前面,但它会留在浏览器后面,因为您的浏览器处于“超级状态”。(很多从win+d返回后切换焦点的安排都会产生问题,除了点击桌面,我还注意到我无法让计算器进入超级状态,除非它与我的chrome浏览器重叠)。

同样,在您的至少一个窗口受到影响之前,这似乎不起作用。

我们仍然不知道如何使初始窗口进入 Superstate,只知道后续窗口。

小智 52

最近遇到这个问题。不确定它是如何开始的,但我能够用 ? win + d 两次将窗口置于这个“超级窗口”状态并单击不同的窗口。我打算尝试使用 Ctrl + Shift + Esc 快捷方式打开任务管理器,但点击 Ctrl + Alt + Esc并且窗口返回到正常状态。我能够使用每个窗口上的键序列成功地将所有窗口返回到正常状态,并且 ? win + d 不再将窗口置于“超级窗口”状态。希望这可以帮助。

  • 谢谢你。这应该是公认的答案。我不知道 C+A+E 实际上是做什么的,但它确实解决了这个非常烦人的问题,而无需处理窗口或关闭应用程序。 (3认同)
  • Ctrl+Alt+Esc 似乎也对我有用。上周我的 8.1 Ent 桌面刚刚开始遇到类似的问题。任何应用程序的 Windows 都会“卡在”其他应用程序窗口的背景中。我可以移动背景窗口并在其中工作,但它仍然会留在后面。我去了每个窗口并按 C+A+Esc 并且它起作用了。我看看能不能回来 (3认同)
  • 这仍然是 Windows 10 中的一个问题(实际上是我唯一遇到过的地方 - 使用 Internet Explorer 和 Firefox ......嗯......);反复将焦点切换到始终位于顶部的窗口,然后按组合键,直到窗口消失在另一个固定它的后面。问题是,我现在有一个不会消失的上下文菜单...... (2认同)

Spe*_*ole 5

我使用“显示桌面”作为鼠标按钮命令,并注意到您遇到的同样的事情。有时,某些窗口在按下“显示桌面”按钮时聚焦,然后在再次按下“显示桌面”按钮并执行反向命令后,将表现为“始终在顶部”窗口。

我在 Internet Explorer、Windows Explorer 和 OUTlook 中注意到了这一点。我正在运行 Windows 7、旗舰版、x64。没有解决办法,只能为我关闭并重新打开窗口。

不过,我感兴趣的是有意执行此命令,而无需从系统托盘中运行第三方软件。

编辑 9/29/11

为了促进我的原始评论,我找到了针对此问题的解决方案/解决方法 - 但此解决方案特定于我的系统,因为我使用 UltraMon,您必须安装该程序才能为您工作。此外,它必须是 UltraMon 3.1.0 或更高版本。下载并安装软件后,转到http://www.realtimesoft.com/ultramon/scripts/并下载“Always on Top”脚本。这是一个执行此功能的 .vbs 文件:

_Set wnd = CreateObject("UltraMon.Window")
If wnd.GetForegroundWindow() = True Then
    If wnd.AlwaysOnTop = True Then
        wnd.AlwaysOnTop = False
    Else
        wnd.AlwaysOnTop = True
    End If
    wnd.ApplyChanges 0
End If_
Run Code Online (Sandbox Code Playgroud)

然后打开 UltraMon 选项并转到热键选项卡并选择“运行应用程序或脚本”并单击Add Hotkey。将打开一个模式对话框,您应该在其中输入要使用的键盘提示(组合),定位到我们之前下载的脚本,然后单击ok。现在您有了一个热键组合,可以在启用和禁用 Always_on_Top 值之间切换。因此,当您在显示桌面或撤消显示桌面时出现错误时,我们现在可以快速修复键盘。就像我上面评论的那样,如果您希望有意将窗户强制在前面,这有时会有所帮助,那么您现在也可以选择这样做。

这对我有用,因为我始终保持 UltraMon 打开。这是一个很棒的程序,但是我的视频卡已经包含了很多功能,所以我正在考虑将它完全删除,但现在通过这个有价值的功能确保它可以放在我的计算机上。

如果有人对上面的脚本有任何见解,以及它是否可以应用于活动窗口而无需加载 Ultramon,请随时为我的答案做出贡献。谢谢。

  • Darth Android,当时我不知道如何对问题发表评论而不是回答,但如果你想了解它的技术,Mephane 会问 Windows 7 是否有错误,我同意它是由分享我的类似经历。也许除了指出它是如何错误之外,您也许可以指出我如何对某人的问题发表评论的正确方向,因为当时还不是很清楚。无论如何,我正在使用实际解决方案(各种)编辑我的回复,因此请重新考虑您的(-1)投票。谢谢。 (3认同)

小智 5

两种解决方法:

我用win+D。问题易于复制,Win7-64bit-Ultimate。

解决方法一 将 所有窗口提升到超状态,以便它们彼此正常交互。这项工作的问题是新窗口仍会在所有超级状态窗口后面打开,如果您有许多窗口和/或许多监视器,尝试查找可能会非常烦人。

解决方法二 另一种半解决方案是关闭进程并重新打开它。新窗口将处于正常状态,但如果我使用Win+d,该问题可能会再次发生,这可能会导致大量关闭和重新打开数十个窗口以避免该问题。