汤俊飞博客

大帅比

深入理解C#异步编程模式

1. 引言

查看全文 →

C#一分钟浅谈:ReSharper 插件增强开发效率

...

查看全文 →

C# 单例模式的多种实现

...

查看全文 →

winform 全局热键

 /// <summary>
 /// 热键
 /// </summary>
 public class HotKey
 {
     public const int WM_HOTKEY = 0x0312;
     //如果函数执行成功,返回值不为0。
     //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
     [DllImport("user32.dll", SetLastError = true)]
     public static extern bool RegisterHotKey(
                     IntPtr hWnd,                //要定义热键的窗口的句柄
         int id,                     //定义热键ID(不能与其它ID重复)
         KeyModifiers fsModifiers,   //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
         Keys vk                     //定义热键的内容
         );
     [DllImport("user32.dll", SetLastError = true)]
     public static extern bool UnregisterHotKey(
         IntPtr hWnd,                //要取消热键的窗口的句柄
         int id                      //要取消热键的ID
         );
     //定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值)
    

     /// <summary>
     /// 计算标识
     /// </summary>
     /// <param name="keyModifiers"></param>
     /// <param name="key"></param>
     /// <returns></returns>
     internal static int CalculateID(KeyModifiers keyModifiers, Keys key)
     {
         return (int)keyModifiers + ((int)key << 4);
     }

     public readonly KeyModifiers ModifierKey;
     public readonly Keys Key;
     public readonly int id;
     /// <summary>
     /// 
     /// </summary>
     /// <param name="keyModifiers"></param>
     /// <param name="key"></param>
     internal HotKey(KeyModifiers keyModifiers, Keys key)
     {
         this.ModifierKey = keyModifiers;
         this.Key = key;
         this.id = HotKey.CalculateID(keyModifiers, key);
     }

 }
查看全文 →
<< 1 >>
«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
  • 文章总数:14
  • 页面总数:1
  • 分类总数:6
  • 标签总数:6
  • 评论总数:0
  • 浏览总数:803
您好,欢迎到访网站!
  查看权限