c# 活动窗口 键盘监听

/// /// 監視クラス /// class HotKey { [DllImport("user32.dll ", SetLastError = true)] public static extern bool RegisterHotKey( IntPtr hWnd, int id, KeyModifiers fsModifiers, Keys vk ); [DllImport("user32.dll ", SetLastError = true)] public static extern bool UnregisterHotKey( IntPtr hWnd, int id ); [Flags()] public enum KeyModifiers { None = 0, Alt = 1, Ctrl = 2, Shift = 4, WindowsKey = 8 } } /// /// キーボードの監視の呼応メソッド /// /// protected override void WndProc(ref Message m) { const int WM_HOTKEY = 0x0312; switch (m.Msg) { case WM_HOTKEY: switch (m.WParam.ToInt32()) { case 100: this.axFramerControl1.Save(); break; } break; } base.WndProc(ref m); } /// /// ウィンドウがアクティブでないとき、ホットキーの監視をクローズする。 /// /// /// private void Form1_Deactivate(object sender, EventArgs e) { HotKey.UnregisterHotKey(this.Handle, 100); } /// /// ウィンドウがアクティブとき、ホットキーの監視をオープンする。 /// /// /// private void Form1_Activated(object sender, EventArgs e) { HotKey.RegisterHotKey(this.Handle, 100, HotKey.KeyModifiers.Ctrl, Keys.S); }
原文地址:https://www.cnblogs.com/btbear/p/3338163.html