/// <summary> /// 将窗口边框的Aero效果扩展到客户区域 /// </summary> /// <param name="window">目标窗口</param> /// <param name="margin">外边距</param> /// <returns>成功与否</returns> public static bool ExtendGlassFrame(Window window, Thickness margin) { if (!AeroGlassCompositionEnabled) return false; IntPtr hwnd = new WindowInteropHelper(window).Handle; if (hwnd == IntPtr.Zero) throw new InvalidOperationException("在启用Aero效果前窗口必须已显示"); MARGINS margins = new MARGINS((int)margin.Left, (int)margin.Top, (int)margin.Right, (int)margin.Bottom); NativeMethods.DwmExtendFrameIntoClientArea(hwnd, ref margins); return true; }
internal static extern void DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMargins);