Пример #1
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (msg == WM_MOUSEACTIVATE)
            {
                handled = true;
                return(new IntPtr(MA_NOACTIVATE));
            }

            if (msg == messageShellHookId)
            {
                if (wParam == (IntPtr)55)
                {
                    //Brightness
                    BrightnessFlyoutHelper?.OnExternalUpdated();
                }
                else if (wParam == (IntPtr)12)
                {
                    //Volume
                    AudioFlyoutHelper?.OnExternalUpdated(
                        (int)lParam == (int)HookMessageEnum.HOOK_MEDIA_NEXT ||
                        (int)lParam == (int)HookMessageEnum.HOOK_MEDIA_PREVIOUS ||
                        (int)lParam == (int)HookMessageEnum.HOOK_MEDIA_PLAYPAUSE ||
                        (int)lParam == (int)HookMessageEnum.HOOK_MEDIA_STOP);
                }
            }

            if (msg == WM_EXITSIZEMOVE)
            {
                FlyoutWindow.SaveFlyoutPosition();
            }

            return(IntPtr.Zero);
        }
Пример #2
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (msg == WM_MOUSEACTIVATE)
            {
                handled = true;
                return(new IntPtr(MA_NOACTIVATE));
            }

            if (msg == messageShellHookId)
            {
                if (wParam == (IntPtr)55)
                {
                    //Brightness
                    BrightnessFlyoutHelper?.OnExternalUpdated();
                }
                else if (wParam == (IntPtr)12)
                {
                    switch ((long)lParam)
                    {
                    case (long)HookMessageEnum.HOOK_MEDIA_NEXT:
                    case (long)HookMessageEnum.HOOK_MEDIA_PREVIOUS:
                    case (long)HookMessageEnum.HOOK_MEDIA_PLAYPAUSE:
                    case (long)HookMessageEnum.HOOK_MEDIA_STOP:
                        //Media
                        AudioFlyoutHelper?.OnExternalUpdated(true);
                        break;

                    case (long)HookMessageEnum.HOOK_MEDIA_VOLMINUS:
                    case (long)HookMessageEnum.HOOK_MEDIA_VOLMUTE:
                    case (long)HookMessageEnum.HOOK_MEDIA_VOLPLUS:
                        //Volume
                        AudioFlyoutHelper?.OnExternalUpdated(false);
                        break;

                    default:
                        //Ignore mouse side buttons and other keyboard special keys
                        break;
                    }
                }
            }

            if (msg == WM_EXITSIZEMOVE)
            {
                FlyoutWindow.SaveFlyoutPosition();
            }

            return(IntPtr.Zero);
        }
Пример #3
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
#if DEBUG
            System.Diagnostics.Debug.WriteLine($"msg={msg}, wParam={wParam}, lParam={lParam}");
#endif
            if (msg == WM_MOUSEACTIVATE)
            {
                handled = true;
                return(new IntPtr(MA_NOACTIVATE));
            }

            if (msg == messageShellHookId || msg == 13)
            {
                if (wParam == (IntPtr)55)
                {
                    //Brightness
                    BrightnessFlyoutHelper?.OnExternalUpdated();
                }
                else if (wParam == (IntPtr)12 || wParam == (IntPtr)512)
                {
                    //Volume
                    AudioFlyoutHelper?.OnExternalUpdated(
                        (long)lParam == (long)HookMessageEnum.HOOK_MEDIA_NEXT ||
                        (long)lParam == (long)HookMessageEnum.HOOK_MEDIA_PREVIOUS ||
                        (long)lParam == (long)HookMessageEnum.HOOK_MEDIA_PLAYPAUSE ||
                        (long)lParam == (long)HookMessageEnum.HOOK_MEDIA_HEADSET_VOLPLUS ||
                        (long)lParam == (long)HookMessageEnum.HOOK_MEDIA_STOP);
                }
            }

            if (msg == WM_EXITSIZEMOVE)
            {
                FlyoutWindow.SaveFlyoutPosition();
            }

            return(IntPtr.Zero);
        }