Пример #1
0
        public IntPtr OnReceiveMessage(IntPtr hWindow, int Message, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (WndProc != null)
            {
                Enums.WindowMessageArgs windowMessage = new Enums.WindowMessageArgs(hWindow, Message, wParam, lParam);
                WndProc(this, windowMessage);
                if (windowMessage.Handled)
                {
                    handled = true;
                    return(IntPtr.Zero);
                }
            }

            return(IntPtr.Zero);
        }
Пример #2
0
        private bool ThemeMessageHandler(object sender, Enums.WindowMessageArgs Msg)
        {
            bool _result = false;

            if ((Enums.WINDOW_MESSAGE)Msg.Message == Enums.WINDOW_MESSAGE.WM_WININICHANGE)
            {
                string _lParam = (Msg.lParam != IntPtr.Zero) ? Marshal.PtrToStringUni(Msg.lParam) : "";

                if (_lParam == "ImmersiveColorSet")
                {
                    AppThemer.HandleThemeChange(AppWindow.WindowHandle);
                    Msg.Handled = true;
                    _result     = true;
                }
            }
            return(_result);
        }