private HotKeyData HotKey { get; set; } //for undo public FormSettings(Settings settings) { this.m_SettingsData = settings.globalSettings; HotKey = settings.globalSettings.HotKeyInfo.Clone(); InitializeComponent(); }//end constructor
public static bool RegisterHotKey(this HotKeyData keyData, Form parent) { if (!keyData.UseHotKey) { return(true); } // update HotKey User32HotKey.KeyModifiers modifiers = User32HotKey.KeyModifiers.None; if (keyData.KeyData.HasFlag(Keys.Control)) { modifiers |= User32HotKey.KeyModifiers.Control; } if (keyData.KeyData.HasFlag(Keys.Shift)) { modifiers |= User32HotKey.KeyModifiers.Shift; } if (keyData.KeyData.HasFlag(Keys.Alt)) { modifiers |= User32HotKey.KeyModifiers.Alt; } if (keyData.KeyData.HasFlag(Keys.LWin) || keyData.KeyData.HasFlag(Keys.RWin)) { modifiers |= User32HotKey.KeyModifiers.Windows; } Keys key = (Keys)((int)keyData.KeyData & 0x0000FFFF); //filter out modifiers LogC.WriteLine("RegisterHotKey: " + keyData); return(User32HotKey.RegisterHotKey(parent.Handle, keyData.AppId, modifiers, key)); } //end RegisterHotKey
}//end Reset public HotKeyData Clone() { HotKeyData key = new HotKeyData(AppId); key.UseHotKey = this.UseHotKey; key.KeyData = KeyData; return(key); }//end Clone
public void Reset() { HotKeyData key = new HotKeyData(AppId); #if DEBUG KeyData = Keys.Control | Keys.W; // default HotKey for Debug is Ctrl+W #else KeyData = Keys.Control | Keys.Q; // default HotKey is Ctrl+Q #endif UseHotKey = key.UseHotKey; }//end Reset
} //end RegisterHotKey public static void UnregisterHotKey(this HotKeyData keyData, Form parent) { LogC.WriteLine("UnregisterHotKey: " + keyData); User32HotKey.UnregisterHotKey(parent.Handle, keyData.AppId); } //end UnregisterHotKey