Пример #1
0
        /// <summary>
        /// 取消热键
        /// </summary>
        /// <param name="view"></param>
        private static void Unregister(TemplateEditView view)
        {
            if (_registedHandle == default(IntPtr))
            {
                return;
            }

            //向全局原子表取消申请唯一标识符
            Hotkey.GlobalDeleteAtom(_atomL);
            Hotkey.GlobalDeleteAtom(_atomR);
            Hotkey.GlobalDeleteAtom(_atomV);
            Hotkey.GlobalDeleteAtom(_atomT);
            Hotkey.GlobalDeleteAtom(_atomC);
            Hotkey.GlobalDeleteAtom(_atomI);
            Hotkey.GlobalDeleteAtom(_atomW);
            Hotkey.GlobalDeleteAtom(_atomQ);
            Hotkey.GlobalDeleteAtom(_atomCtrlZ);
            Hotkey.GlobalDeleteAtom(_atomCtrlY);

            //取消关联热键对应的行为
            _actionWithHotkey = new Dictionary <int, System.Action>();
            //_registedHwndSource.RemoveHook(WndProc);

            //取消注册热键
            Hotkey.UnregisterHotKey(_registedHandle, _atomL);
            Hotkey.UnregisterHotKey(_registedHandle, _atomR);
            Hotkey.UnregisterHotKey(_registedHandle, _atomV);
            Hotkey.UnregisterHotKey(_registedHandle, _atomT);
            Hotkey.UnregisterHotKey(_registedHandle, _atomC);
            Hotkey.UnregisterHotKey(_registedHandle, _atomI);
            Hotkey.UnregisterHotKey(_registedHandle, _atomW);
            Hotkey.UnregisterHotKey(_registedHandle, _atomQ);
            Hotkey.UnregisterHotKey(_registedHandle, _atomCtrlZ);
            Hotkey.UnregisterHotKey(_registedHandle, _atomCtrlY);

            _registed = false;
            Debug.WriteLine("取消热键");
        }