我想要有与Windows 7任务栏相同的效果。
我在这个问题看过: Keep Window Looking Active
它的工作很好,但只有当窗口有非客户区。如何强制Aero绘制无边框窗口,即使它不是?
我的窗口无边框,它的内容(只是一个黑色背景)呈现为无效,无论我做什么。
我设置了我的窗口标志就像Windows 7任务栏,但它没有帮助。
我现在唯一的想法是用边框画出来,然后剪下来,有没有更好的方法来实现我想要的?
编辑1:
裁剪没有工作,裁剪窗口内容被渲染为活动窗口边框后。 地狱怎么做windows 7任务栏工程呢?
EDIT2:
添加一些照片来解释自己更好,下面的窗口内容是一个黑色的背景。
这是一个非活动窗口(内容呈现有点暗):
这是一个活动窗口:
如果该窗口没有客户区的内容总是呈现为活动窗口然而,Windows任务栏总是呈现为活动窗口,并没有任何NC区域(至少根据spy ++)。这就是我想模仿的东西。
编辑3:
分享我最近的发现。 Explorer.exe的主窗口是无框,具有以下标志:
我跳入探险的过程dwmapi.dll文件导出的函数:
它使用DwmEnableBlurBehindWindow,就像我一样。
我检查了无证的序数函数,它们都没有与渲染航空玻璃作为活动相关。
难道是DWM规则不适用于资源管理器?
你如何发现一个边界欠窗口是无效的? – Dani
添加了一些照片更清晰。 – Omer
我在最后一段中写道:“如果窗口没有客户区域,内容总是呈现为非活动窗口”,则无边界窗口看起来像不活动的窗口,即使它是活动的。 – Omer