Example #1
0
        /// <summary>
        /// コンストラクタ。
        /// </summary>
        public TrayComponent()
        {
            // notifyIcon settings.
            this.ContextMenu = new MainContextMenu();
            //this.keyboardHook1 = new KeyboardHook();

            this.TrayMouseDoubleClick += (_o, _e) => {
                var main = ((App)System.Windows.Application.Current).main;

                // オプション画面の表示/非表示を変更
                if (main.optionWindow.IsVisible)
                {
                    main.optionWindow.Hide();
                }
                else
                {
                    main.optionWindow.Show();
                    main.optionWindow.Activate();   // ダブルクリックするとTrayにFocusを持ってかれるので、窓にFocusを再度与える(強制)
                }
            };
            viewmodel.SetBinding(this);

            // Keyboardのフック処理
            KeyboardHooker = new KeyboardHookComponent();
        }
Example #2
0
        public KeyboardHookCommand(VolumeWatcherMain main)
        {
            this.main           = main;
            this.KeyboardHooker = main.trayComponent.KeyboardHooker;

            var dict = new Dictionary <System.Windows.Input.Key, Action>()
            {
                {
                    Key.OemComma, () => {
                        // 音量-
                        var device = main.VolumeMonitor1.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.MasterVolumeLevelScalar -= Step;
                    }
                },
                {
                    Key.OemPeriod, () => {
                        // 音量+
                        var device = main.VolumeMonitor1.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.MasterVolumeLevelScalar += Step;
                    }
                },
                {
                    Key.M, () => {
                        // Mute
                        var device = main.VolumeMonitor1.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.Mute = !device.AudioEndpointVolume.Mute;
                    }
                },
                {
                    Key.K, () => {
                        // 音量-
                        var device = main.CaptureMonitor.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.MasterVolumeLevelScalar -= Step;
                    }
                },
                {
                    Key.L, () => {
                        // 音量+
                        var device = main.CaptureMonitor.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.MasterVolumeLevelScalar += Step;
                    }
                },
                {
                    Key.J, () => {
                        // Mute
                        var device = main.CaptureMonitor.AudioDevice;
                        if (device == null || device.AudioEndpointVolume == null)
                        {
                            return;
                        }
                        device.AudioEndpointVolume.Mute = !device.AudioEndpointVolume.Mute;
                    }
                }
            };

            foreach (var key in dict.Keys)
            {
                KeyboardHooker.AddShortcut(KeyboardHookComponent.GetMixedKeyFromKey(key, false, false, true), dict[key]);
            }
        }