首页 > 解决方案 > 让窗户永远留在后面

问题描述

在 Windows 10 上,我试图让一个窗口始终位于底部;也就是说,它总是显示在其他窗口的后面,不能放在它们上面。我已经看到最简单的解决方案是使窗口成为桌面的子窗口;然而,我在这方面取得了喜忧参半的成功。在这种情况下,将窗口设置为桌面子窗口的不良副作用不是问题。我试过让我的窗口成为 SysListView32、SHELLDLL_DefView 和 Progman 的子窗口。在前两种情况下,窗口确实正确地留在后面,尽管由于某种原因它是部分透明的,并且可以在其后面看到桌面背景(但看不到桌面上可能存在的任何文件/文件夹)。在最后一种情况下,窗口根本看不到。有没有办法解决透明度问题,还是我没有让我的窗口成为右窗口的孩子?如果重要的话,我使用 Python 3.7 和 Pygame(基于 SDL)来创建我的窗口。

标签: pythonwinapi

解决方案


我没有找到其他解决方案,而是通过使用 SetWindowLong 在我的窗口上启用扩展窗口样式 WS_EX_LAYERED 来解决透明度问题。


推荐阅读