Beispiel #1
0
        private static void SetAccentPolicy(Form window, PI.AccentState accentState)
        {
            // var windowHelper = new WindowInteropHelper(window);

            PI.AccentPolicy accent = new PI.AccentPolicy
            {
                AccentState = accentState,
                AccentFlags = GetAccentFlagsForTaskbarPosition()
            };

            int accentStructSize = Marshal.SizeOf(accent);

            IntPtr accentPtr = Marshal.AllocHGlobal(accentStructSize);

            Marshal.StructureToPtr(accent, accentPtr, false);

            PI.WindowCompositionAttribData data = new PI.WindowCompositionAttribData
            {
                Attribute  = PI.WindowCompositionAttribute.WCA_ACCENT_POLICY,
                SizeOfData = accentStructSize,
                Data       = accentPtr
            };

            PI.SetWindowCompositionAttribute(window.Handle, ref data);

            Marshal.FreeHGlobal(accentPtr);
        }