private void LoadSetting() { bool isCtrl = false; bool isShift = false; bool isAlt = false; bool isWin = false; bool ReplaceWindowR = false; Key key = Key.Space; SettingObject.Instance.Get("Hotkey", "IsCtrl", out isCtrl, true); SettingObject.Instance.Get("Hotkey", "IsShift", out isShift, false); SettingObject.Instance.Get("Hotkey", "IsAlt", out isAlt, true); SettingObject.Instance.Get("Hotkey", "IsWin", out isWin, false); SettingObject.Instance.Get("Hotkey", "Key", out key, Key.Space); SettingObject.Instance.Get("Hotkey", "ReplaceWindowR", out ReplaceWindowR, true); var model = new HotkeyModel(isCtrl, isShift, isAlt, isWin, key); GlobalHotkey.Instance.RegistHotkey("HotKey.ShowApp", model); GlobalHotkey.Instance.ReplaceWindowR = ReplaceWindowR; string version = null; SettingObject.Instance.Get("Version", "version", out version, "0.6"); VersionManager.Instance.Version = version; }
public static void Regist(string name, HotkeyModel keyModel, Action action) { if (keyModel.CharKey != Key.None) { HotkeyManager.Current.AddOrReplace(name, keyModel.CharKey, keyModel.ModifierKeyStatus, (s, ee) => { action?.Invoke(); }); } }
private void HotkeyTextBox_PreviewKeyDown(object sender, KeyEventArgs e) { e.Handled = true; Key key = (e.Key == Key.System ? e.SystemKey : e.Key); var hkm = new HotkeyModel(GlobalHotkey.Instance.ModifyKeyStatus, key); var hotkeyStr = hkm.ToString(); if (hotkeyStr == HotkeyText) { return; } HotkeyText = hotkeyStr; }
public void RegistHotkey(string hotkeyName, HotkeyModel keyModel) { RegistedHotKey[hotkeyName] = keyModel; try { HotkeyRegister.Regist(hotkeyName, keyModel, () => { InvokeHotkeyAction(hotkeyName); }); } catch (NHotkey.HotkeyAlreadyRegisteredException) { RegistedHotKey.Remove(hotkeyName); throw new Exception("Register failed"); } }