public bool RegisterHotKey(CustomModifierKeys modifier, Keys key) { _currentId = _currentId + 1; if (!User32.RegisterHotKey(_window.Handle, _currentId, (uint)modifier, (uint)key)) { return(false); } return(true); }
protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.Msg == WM_HOTKEY) { Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF); CustomModifierKeys modifier = (CustomModifierKeys)((int)m.LParam & 0xFFFF); KeyPressed?.Invoke(this, new KeyPressedEventArgs(modifier, key)); } }
internal KeyPressedEventArgs(CustomModifierKeys modifier, Keys key) { _modifier = modifier; _key = key; }