private static void SetAccentPolicy(Window window, Interop.AccentState accentState) { var windowHelper = new WindowInteropHelper(window); var accent = new Interop.AccentPolicy(); accent.AccentState = accentState; accent.AccentFlags = GetAccentFlagsForTaskbarPosition(); var accentStructSize = Marshal.SizeOf(accent); var accentPtr = Marshal.AllocHGlobal(accentStructSize); Marshal.StructureToPtr(accent, accentPtr, false); var data = new Interop.WindowCompositionAttribData(); data.Attribute = Interop.WindowCompositionAttribute.WCA_ACCENT_POLICY; data.SizeOfData = accentStructSize; data.Data = accentPtr; Interop.SetWindowCompositionAttribute(windowHelper.Handle, ref data); Marshal.FreeHGlobal(accentPtr); }
private static void SetAccentPolicy(Form window, Interop.AccentState accentState) { // var windowHelper = new WindowInteropHelper(window); Interop.AccentPolicy accent = new Interop.AccentPolicy { AccentState = accentState, AccentFlags = GetAccentFlagsForTaskbarPosition() }; int accentStructSize = Marshal.SizeOf(accent); IntPtr accentPtr = Marshal.AllocHGlobal(accentStructSize); Marshal.StructureToPtr(accent, accentPtr, false); Interop.WindowCompositionAttribData data = new Interop.WindowCompositionAttribData { Attribute = Interop.WindowCompositionAttribute.WCA_ACCENT_POLICY, SizeOfData = accentStructSize, Data = accentPtr }; Interop.SetWindowCompositionAttribute(window.Handle, ref data); Marshal.FreeHGlobal(accentPtr); }