Esempio n. 1
0
        public void OnWindowMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
        {
            // only track events if they come from the active window
            if (_activeWindow is null || hWnd != _activeWindowHandle)
            {
                return;
            }

            if (msg == WM_SETTINGCHANGE || msg == WM_THEMECHANGE)
            {
                ActiveWindowThemeChanged?.Invoke(_activeWindow, EventArgs.Empty);
            }
            else if (msg == WM_DISPLAYCHANGE || msg == WM_DPICHANGED)
            {
                ActiveWindowDisplayChanged?.Invoke(_activeWindow, EventArgs.Empty);
            }
        }
Esempio n. 2
0
        public void OnWindowMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
        {
            if (ActiveWindowDisplayChanged == null)
            {
                return;
            }

            // We only care about orientation or dpi changes
            if (DISPLAY_CHANGED != msg && DPI_CHANGED != msg)
            {
                return;
            }

            if (_activeWindow != null && hWnd == WinRT.Interop.WindowNative.GetWindowHandle(_activeWindow))
            {
                ActiveWindowDisplayChanged?.Invoke(_activeWindow, EventArgs.Empty);
            }
        }