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


36

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

我在Windows 7下发现的内容是,当您使用“显示桌面”功能(我更喜欢使用⊞ Win+ D快捷键),然后再次使用该功能将所有窗口重新带回时,某些窗口的行为就像是粘在z-的前面订购。就是说,这意味着我打开了窗口AB和C,并把焦点放在A上,按了两次⊞ Win+ D,现在可能会发生,如果我然后想通过Alt+ Tab或在菜单上选择它们来切换到B或C。任务栏,任务栏显示突出显示,但A在前景中保持可见(并且可用,不仅是渲染问题)。

想象以下情况,所有三个窗口都是层叠和重叠的:

A(焦点)
B
C

-> ⊞ Win+D

桌面(焦点)

-> ⊞ Win+D

A(焦点)
B
C

->在任务栏上单击C

A
C(焦点)
B

->在任务栏上单击B

A
B(焦点)
C

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

哪种应用都没有关系;在我当前的情况下,Outlook实例和Explorer实例被卡住,而Explorer的第二个实例和Firefox实例则正常运行。这应该表明,即使在同一应用程序的多个实例之间也可能出现此问题,并且没有涉及想像它们是最重要的程序并且在内部强制“始终位于顶部”的高级应用程序。

再次显示和取消显示桌面没有帮助;在最坏的情况下,另一个窗口也可能以“粘贴到z顺序的顶部”结尾。在这两者之间,我可以轻松切换,但是为了获得一个仍在顶部正常运行的窗口,我必须手动最小化令人讨厌的窗口。

到目前为止,唯一的方法似乎是关闭令人讨厌的窗口,但我没有找到其他有用的方法。

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

更多信息:

⊞ Win+ d问题很容易在Win7-64bit-Ultimate上复制。

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

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

受影响的窗口位于任务栏的顶部,否则可以用作“特殊窗口”,这表明Windows 7必须具有隐藏在桌面上的“特征”,该特征始终与“显示桌面”功能一起应用。该功能似乎将窗口置于任务栏顶部的超级窗口状态(正常组保留在任务栏后面)。当您单击任务栏的开始菜单或上下文菜单时,开始菜单/任务栏位于始终在线组的最前面,但是这不会还原受影响的窗口,只是临时接管,直到您切换到其他菜单为止而不是开始菜单/任务栏。

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

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

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

因此,回到找到超级状态现象的真正诱因的话题。

实际遇到超级问题后,将重现以下内容:好的,我在输入时就这样做了:

打开chrome(查看此网站),然后依次打开“记事本”和“计算器”(可以是任何窗口,但出于演示目的,请跟我一起来)

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

现在,在浏览器位于顶部的情况下,按win + d,然后再次按win + d。

单击“计算器”,然后单击浏览器,您的浏览器现在停留在前台。单击记事​​本会将焦点移至记事本,它将位于计算器的前面,但由于浏览器处于“超级状态”,因此它将停留在浏览器的后面。(从win + d返回后切换焦点的许多安排都会产生问题,例如单击桌面,我还注意到,除非它与我的chrome浏览器重叠,否则我无法使计算器进入超级状态)。

再次,这似乎不起作用,直到您的至少一个窗口受到影响。

我们仍然不知道如何使最初的窗口进入超级状态,只有随后的窗口。


感谢您的编辑,Gareth。如何制作这些按键图标而不是其名称?我想您没有手动添加图像,对吗?
Mephane 2011年

1
您用<kbd> </ kbd>
括住

Answers:


49

最近遇到此问题。不确定它是如何开始的,但是我能够用 ⊞ win + d 两次将窗口置于“超级窗口”状态,然后单击另一个窗口。我正想试试 Ctrl + Shift + Esc 快捷键打开任务管理器,但命中 Ctrl + Alt + Esc,而不是和窗口恢复到正常状态。我能够使用每个窗口上的键序列成功地将所有窗口恢复到其正常状态,并且 ⊞ win + d 不再将窗口置于“超级窗口”状态。希望这可以帮助。


3
谢谢。这应该是公认的答案。我不知道C + A + E的实际作用,但是它确实解决了这个非常烦人的问题,而无需花费大量时间来关闭窗口或关闭应用程序。
卡斯珀

1
这可以暂时提供帮助,但不幸的是,问题在片刻后再次出现。
斯科特,

3
Ctrl + Alt + Esc似乎也对我有用。上周,我在8.1 Ent桌面上刚遇到类似的问题。任何应用程序的Windows都会在其他应用程序的窗口的背景下“卡住”。我可以移动背景窗口并在其中工作,但仍会留在后面。我转到每个窗口并按C + A + Esc,它起作用了。我看它是否返回。
理查德(Richard)

1
当我在其他网站上阅读它时,我尝试了Ctrl + Alt + Esc,但是没有运气,继续尝试在这里进行尝试-再按3-4次,终于做到了。.不知道这是怎么回事。
查理·永利

1
这在Windows 10中仍然是一个问题(实际上是我唯一经历过的地方-Internet Explorer和Firefox ... hmm ...);反复将焦点从始终打开的窗口切换到另一焦点,然后按组合,直到该窗口消失在另一个固定的窗口后面。麻烦的是,我现在有一个不会消失的上下文菜单……
wizzwizz4

5

两种解决方法:

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

解决方法之一将 所有窗口提升到超级状态,以便它们彼此正常交互。解决此问题的方法是,新窗口仍将在所有超级状态窗口的后面打开,试图查找是否有很多窗口和/或许多显示器可能非常烦人。

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


5

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

我已经在Internet Explorer,Windows Explorer和OUtlook中注意到它。我正在运行Windows 7,旗舰版,x64。没有办法,只能为我关闭然后重新打开窗口。

不过,我有意在不从系统托盘运行第三方软件的情况下有意执行此命令。

编辑 11/29/29

为了进一步表达我的原始意见,我找到了解决此问题的解决方案/解决方法-但是该解决方案特定于我的系统,因为我使用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_

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

这对我有用,因为我一直都在打开UltraMon。这是一个很棒的程序,但是我的视频卡已经涵盖了许多功能,因此我正在考虑将其全部删除,但是现在可以确保使用此valubale功能将其放置在我的计算机上。

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


这应该是对主要问题的评论;这不是答案。
Darth Android

3
达斯·安卓(Darth Android),当时我不知道如何对问题发表评论而不是回答,但是如果您想了解这一点,Mephane询问Windows 7是否存在错误,我同意这样做的原因是分享我的相似经历。也许除了指出它是错误的之外,您也许可以向我指出有关对某人的问题发表评论的正确方向,因为当时还不清楚。无论如何,我正在用一种实际的解决方案来编辑​​我的回答,所以请重新考虑您的(-1)投票。谢谢。
SpewHole 2011年

1

实际上,有一个可以解决此问题的旧程序,我直到现在才想起它的名称。Nirsoft最初将其称为WinExplorer。它在“大小和位置”选项卡下有一个选项,称为“设置为无最上层”,将从窗口中删除“始终位于最上层”的行为。我刚刚在Windows 7上使用它来解决上述非常严重的问题,其中“显示桌面”使事情搞砸了。它仍然在这里可用:http : //www.nirsoft.net/utils/winexp.html


1

我知道已经快8年了,但是如果我在Windows 10中仍在努力解决这个问题,那么肯定会有更多人在2019年面临这个问题。

显然,这与始终位于顶部的窗口启用的称为“ WS_MINIMIZEBOX”的窗口样式有关。我认为这会导致某种错误或类似问题。解决该问题的方法是使用一个名为AutoHotkey的程序(顺便说一句大程序),并创建一个“ Always on Top”功能,该功能使窗口位于顶部,并禁用此“ WS_MINIMIZEBOX”。

换句话说,不是你们在所使用的任何程序上使用原始的始终位于最上层的功能-假设您正在使用Media Player Classic,而不是在Media Player Classic软件内部使用始终处于最上层的功能-您将使用此功能脚本以使所需的窗口始终位于顶部。我将热键设置为Windows + a(如果您想更改快捷方式以更适合您的需求,只需查看AutoHotkey网站上的“密钥列表”,更改超级简单,您几乎可以设置任何所需的组合键) )。这是我的脚本,只需将其保存在文本文件中,然后将文件格式更改为.ahk

我的解决方案唯一的麻烦是,您将无法最小化该窗口,直到再次将其关闭。但是,我假设如果您要始终在顶部使用窗口,则可能不想将其最小化。此外,尽管您无法将其最小化,但可以再次单击Windows + a来删除“始终位于顶部”选项,因此,如果您不想再看到始终位于顶部的窗口,则可以再次按下它。我确信这是解决此问题的更优雅/更实用的方法,但这就是我能想到的。

;Better Always on Top
count = 1
#a::
If count = 1
{
WinSet, Style, -0x20000, A
Winset, Alwaysontop, , A
return
}
Else If count = 2
{
WinSet, Style, ^0x20000, Off ;WS_MINIMIZEBOX
Winset, Alwaysontop, Off
return
}
Return

1

我发现这是Nvidia WMI Provider的问题。我有两个实例正在运行(一个是32位版本)。我停止了32位版本,问题消失了。


0

我有时会在Windows 7上遇到完全相同的问题。使用我的机器真的很烦,因为窗户粘在屏幕上。发生这种情况时,我曾经重新启动计算机,但是发现了更简单的解决方法。

我要做的是结束浏览器过程,然后重新开始。我执行以下操作:

  1. 打开任务管理器(您可以使用快捷方式Crtl + Shift + Esc)。
  2. 单击“进程”选项卡,然后找到名为的进程"explorer"
  3. "explorer"通过右键单击并选择来结束该过程End Process。这将关闭所有打开的文件夹,所有其他程序保持打开状态。
  4. 仍在您的任务管理器中,单击File并选择New Task(Run...)
  5. 键入explorer在输入框中,然后点击Ok。这将再次启动资源管理器。

粘性窗口现在应该消失了。


1
这在Win7 64位上对我不起作用
JustinJDavies 2013年

0

在Windows 7中,转到“控制面板” >>“轻松访问” >>“轻松访问中心” >>向下滚动以使鼠标更易于使用>>向下滚动以使鼠标更易于管理Windows >>取消选中“激活”框用鼠标悬停在窗口上”。现在,当您打开一个新窗口时,该窗口将保留在顶部,并允许您选择它而不会消失。


不,听起来像是另外一个问题。
jan-glx

0

就我而言,当我在Daum PotPlayer中观看电影时,出现了此错误。我在播放器中启用了“ always on top”,并且当我用Win + D热键最小化所有窗口并以相同的方式还原它们时,以某种方式处于活动状态(集中)的程序将成为其他程序的顶部。我禁用了播放器中的“ always on top”,并且bug消失了……至少现在是这样。


0

很多人描述了困扰我一段时间的问题,但是并没有很多有用的解决方法。但是,我确实仔细检查并清理了配置为使用Windows启动的大量进程/后台应用程序。我没有一步一步地找出他们的罪魁祸首,但是目前看来问题已经解决了。我可以alt + tab通过多个打开的窗口,而不会遇到任何阻塞在顶部的情况。

因此,这就是我的建议:将您的启动应用程序付诸实践。似乎那里有什么东西引起了问题。

WIN7:WIN + R,“启动”选项卡,禁用您认为无需启动就可以生存的任何功能。

WIN10-ctrl + alt + del,任务mgr,启动选项卡,再次禁用所有可以

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.