/// <summary> /// Handles hot key presses. /// </summary> /// <param name="modifier">The modifier key pressed.</param> /// <param name="key">The key pressed.</param> private void HandleHotkey(fsModifiers modifier, Keys key) { switch (key) { case Keys.Q: if (!_recorder.IsRecording) { btnStartRecord.PerformClick(); } break; case Keys.W: if (_recorder.IsRecording) { btnStopRecord.PerformClick(); } break; case Keys.E: if (!_player.IsPlaying) { btnPlayMacro.PerformClick(); } break; case Keys.R: if (_player.IsPlaying) { btnStopMacro.PerformClick(); } break; } }
protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.Msg == WM_HOTKEY) { Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF); fsModifiers modifier = (fsModifiers)((int)m.LParam & 0xFFFF); int id = m.WParam.ToInt32(); HandleHotkey(modifier, key); } }
public static extern bool RegisterHotKey(IntPtr hWnd, int id, fsModifiers fsModifiers, System.Windows.Forms.Keys vk);