/// <summary> /// Initializeで指定したハンドラを起動するグローバルホットキーを上書き登録する /// </summary> /// <param name="modifier"></param> /// <param name="key"></param> /// <returns>正しく登録できればTrue</returns> public static bool RegisterHotKey(ModifierKeys modifier, Key key) { if (modifier == ModifierKeys.None) { return(false); } if (_handler == null) { return(false); } _hotkey.UnregisterAll(); _hotkey.Register(modifier, key, _handler); // 設定したModifierとKeyを記憶 Properties.Settings.Default.EnumModifierKeys = (int)modifier; Properties.Settings.Default.EnumKey = (int)key; Properties.Settings.Default.Save(); return(true); }
private static void HotKeyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (_hotkey == null) { return; } var obj = d as HotKeyBehavior; _hotkey.UnregisterAll(); _hotkey.Register( obj.HotKey.Modifiers, obj.HotKey.Key, (_, __) => { if (obj.AssociatedObject.WindowState == WindowState.Normal) { //AssociatedObject.Activate(); } else { obj.AssociatedObject.WindowState = WindowState.Normal; obj.AssociatedObject.Activate(); } }); }