Enables the blur effect on a specified window.
#Include <WinAPIEx.au3>
_WinAPI_DwmEnableBlurBehindWindow ( $hWnd [, $fEnable [, $fTransition [, $hRgn]]] )
$hWnd | 窗口句柄. |
$fEnable | [可选参数] 指定 DWM 模糊后是否注册或注销窗口句柄.有效值: 1 - 注册. 0 - 不注册. |
$fTransition | [可选参数] 指定匹配色是否过渡到最大化窗口.有效值: 1 - 窗口应该是彩色. 0 - 不要. |
$hRgn | [可选参数] 应用到客户端模糊区域的后面. 0 值将应用模糊到整个客户区. |
成功: | 返回 1. |
失败: | 返回 0,设置 @error 标志为非 0 值, @extended 标志可能包含一个系统错误代码. |
在MSDN中搜索
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
If Not _WinAPI_DwmIsCompositionEnabled() Then
MsgBox(16, 'Error', 'Require Windows Vista or later with enabled Aero theme.')
Exit
EndIf
Global $hForm, $hRgn
; 创建 GUI
$hForm = GUICreate('MyGUI', 400, 400)
GUISetBkColor(0)
; 给指定区域创建 "玻璃片" 效果. 无论 DWM (桌面窗口管理器) 组件是否切换您必须调用此函数.
_WinAPI_DwmGetColorizationColor()
If Not @extended Then
$hRgn = _WinAPI_CreateEllipticRgn(_WinAPI_CreateRectEx(50, 50, 300, 300))
Else
$hRgn = 0
EndIf
_WinAPI_DwmEnableBlurBehindWindow($hForm, 1, 0, $hRgn)
If $hRgn Then
_WinAPI_DeleteObject($hRgn)
EndIf
GUISetState()
Do
Until GUIGetMsg() = -3