gpt4 book ai didi

c# - 如何在 Windows 上实现桌面叠加模糊?

转载 作者:可可西里 更新时间:2023-11-01 14:14:21 28 4
gpt4 key购买 nike

当我在 Windows 10 上安装 AMD 图形驱动程序时,我注意到背景看起来很模糊,这是我想在我的应用程序中实现的风格。

AMD Radeon Installer

我试过使用 UpdateLayeredWindow , 但它不应用模糊效果。我试过使用 DwmExtendFrameIntoClientAreaDwmEnableBlurBehindWindow但我不确定如何自定义窗口颜色和图像叠加层。

有一个DwmGetColorizationColor函数,但没有匹配的 DwmSetColorizationColor 函数。有多种方法可以设置系统范围的着色,但我希望着色只影响我的应用程序窗口。此外,Aero Glass™ 已从 Windows 8 和 10 中删除。

如何以适用于 Windows 8/10 的方式使用 WinForms 在我的应用程序中包含这些效果?如果 WPF 可以呈现这些效果,它是如何实现的以及我如何在 WinForms 上实现类似的效果?

最佳答案

经过几个月的搜索,我终于找到了 the answer .要在 Windows 10 上实现玻璃效果,必须使用未记录的 SetWindowCompositionAttribute user32.dll 中的函数。

Windows 10 Aero Glass Demonstration

BOOL WINAPI SetWindowCompositionAttribute(HWND hwnd, WINCOMPATTRDATA* pAttrData)

WINCOMPATTRDATA 结构的布局是:

struct WINCOMPATTRDATA {
DWORD attribute; // the attribute to query, see below
PVOID pData; //buffer to store the result
ULONG dataSize; //size of the pData buffer
};

attribute 的值可以来自 DWMWINDOWATTRIBUTE枚举。

关于c# - 如何在 Windows 上实现桌面叠加模糊?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45499774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com