コード例 #1
0
ファイル: HotKeyManager.cs プロジェクト: zpenguin97/Shadowin
        /// <summary>
        /// 注销
        /// </summary>
        /// <param name="modifierKey">组合键</param>
        /// <param name="key">键</param>
        /// <returns></returns>
        public bool Unregister(Enumeration.ModifierKeys modifierKey, Keys key)
        {
            //热键ID
            ushort id = GlobalAtom.Find(this.GetHotKeyName(modifierKey, key));

            //热键存在
            if (this.HotKeyTable.ContainsKey(id))
            {
                //注销
                if (HotKeyManager.UnregisterHotKey(this.Owner.Handle, id))
                {
                    //从热键表中删除
                    this.HotKeyTable.Remove(id);
                    //删除对应的全局原子
                    GlobalAtom.Delete(id);
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                //热键不存在
                return(false);
            }
        }
コード例 #2
0
ファイル: HotKeyManager.cs プロジェクト: zpenguin97/Shadowin
 /// <summary>
 /// 获取热键名称标识
 /// </summary>
 /// <param name="modifierKey">组合键</param>
 /// <param name="key">键</param>
 /// <returns></returns>
 private string GetHotKeyName(Enumeration.ModifierKeys modifierKey, Keys key)
 {
     return(string.Format("HotKey({0}+{1})@Plusal",
                          (uint)modifierKey,
                          (uint)key
                          ));
 }
コード例 #3
0
ファイル: HotKeyManager.cs プロジェクト: zpenguin97/Shadowin
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="modifierKey">组合键</param>
        /// <param name="key">键</param>
        /// <param name="hotKeyEventHandler">热键事件委托</param>
        /// <returns></returns>
        public bool Register(Enumeration.ModifierKeys modifierKey, Keys key, HotKeyEventHandler hotKeyEventHandler)
        {
            //热键ID
            ushort id = GlobalAtom.Add(this.GetHotKeyName(modifierKey, key));

            //注册
            if (HotKeyManager.RegisterHotKey(this.Owner.Handle, id, (uint)modifierKey, (uint)key))
            {
                //保存到热键表中
                this.HotKeyTable.Add(id, hotKeyEventHandler);
                return(true);
            }
            else
            {
                return(false);
            }
        }