C# 注册系统热键,快捷键
C# 注册系统热键,快捷键
using System;
using System.Windows.Forms; using System.Collections; using System.Runtime.InteropServices; namespace CSFramework.Tech2011 { public delegate void HotkeyEventHandler(int HotKeyID); /// <summary> /// 注册热键API函数库 /// </summary> public class Hotkey : System.Windows.Forms.IMessageFilter { Hashtable keyIDs = new Hashtable(); IntPtr hWnd; public event HotkeyEventHandler OnHotkey; //键类型枚举 public enum KeyFlags { MOD_ALT = 0x1, MOD_CONTROL = 0x2, MOD_SHIFT = 0x4, MOD_WIN = 0x8 } [DllImport("user32.dll")] public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk); [DllImport("user32.dll")] public static extern UInt32 UnregisterHotKey(IntPtr hWnd, UInt32 id); [DllImport("kernel32.dll")] public static extern UInt32 GlobalAddAtom(String lpString); [DllImport("kernel32.dll")] public static extern UInt32 GlobalDeleteAtom(UInt32 nAtom); public Hotkey(IntPtr hWnd) { this.hWnd = hWnd; System.Windows.Forms.Application.AddMessageFilter(this); } public int RegisterHotkey(System.Windows.Forms.Keys Key, KeyFlags keyflags) { UInt32 hotkeyid = GlobalAddAtom(System.Guid.NewGuid().ToString()); RegisterHotKey((IntPtr)hWnd, hotkeyid, (UInt32)keyflags, (UInt32)Key); keyIDs.Add(hotkeyid, hotkeyid); return (int)hotkeyid; } public void UnregisterHotkeys() { System.Windows.Forms.Application.RemoveMessageFilter(this); foreach (UInt32 key in keyIDs.Values) { UnregisterHotKey(hWnd, key); GlobalDeleteAtom(key); } keyIDs.Clear(); } public bool PreFilterMessage(ref System.Windows.Forms.Message m) { if (m.Msg == 0x312) { if (OnHotkey != null) { foreach (UInt32 key in keyIDs.Values) { if ((UInt32)m.WParam == key) { OnHotkey((int)m.WParam); return true; } } } } return false; } } //注册热键基类 public class HotKeyRegisterBase { protected Hotkey _HotKey; public HotKeyRegisterBase(Form form, HotkeyEventHandler eventHandler) { _HotKey = new Hotkey(form.Handle); _HotKey.OnHotkey += new HotkeyEventHandler(eventHandler); } public virtual void RegisterHotKeys() { } public void UnregisterHotKeys() { _HotKey.UnregisterHotkeys(); } } /// <summary> /// 创建主窗体热键 /// </summary> public class MainFormHotKey : HotKeyRegisterBase { public static int _Alt_D; //delete public static int _Alt_I; //insert public static int _Alt_E; //modify public static int _Alt_N; //new public static int _Alt_S; //save public static int _Alt_X; //cancel public static int _Alt_P; //print public static int _Alt_T; //ViewContent public static int _F1; //online help public static int _F9; //Show current Stock public MainFormHotKey(Form form, HotkeyEventHandler eventHandler) : base(form, eventHandler) { } public override void RegisterHotKeys() { base.RegisterHotKeys(); _Alt_X = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.Q, Hotkey.KeyFlags.MOD_CONTROL); _Alt_D = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.D, Hotkey.KeyFlags.MOD_CONTROL); _Alt_I = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.I, Hotkey.KeyFlags.MOD_CONTROL); _Alt_E = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.E, Hotkey.KeyFlags.MOD_CONTROL); _Alt_N = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.N, Hotkey.KeyFlags.MOD_CONTROL); _Alt_S = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.S, Hotkey.KeyFlags.MOD_CONTROL); _Alt_P = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.P, Hotkey.KeyFlags.MOD_CONTROL); _Alt_T = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.T, Hotkey.KeyFlags.MOD_CONTROL); _F1 = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.F1, Hotkey.KeyFlags.MOD_CONTROL); _F9 = _HotKey.RegisterHotkey(System.Windows.Forms.Keys.F9, Hotkey.KeyFlags.MOD_CONTROL); } } }
参考文档:
C#植入友商网在线服务并实现同步用户注册接口实现 C# 注册系统热键/快捷键(MainForm HotKey) C# Winform 开发框架集成快捷键功能 (Hotkey) C# Winform 软件用户授权注册系统正式发布 C/S架构管理系统框架|企业管理系统前端框架(C# Winform) C# Winform 软件用户授权注册系统V2.1 测试程序(Tester.exe) C#建站框架官网:CSFramework.CMS内容管理系统 C#源码-凡诺客户关系管理系统CRM 1.1-源码下载 C#源码-AnyPIM个人信息管理系统 6.2-源码下载 C#源码-云端CRM客户管理系统 5.28-源码下载 C#源码-v5商城系统v1.2源码-源码下载 C#源码-仿贝壳房少房产系统网站-源码下载 C#源码-信息中心标准化管理系统源码-源码下载 信息系统开源框架 - 企业内信息系统应用架构(C#.NET+Winform) C#三层架构系统 C#.NET三层架构快速开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |