示例#1
0
        public bool Bind()
        {
            var result = RegisterHotKey(IntPtr.Zero, Id, (uint)KeyModifiers, (uint)virtualKeyCode);

            DictHotKeyToCalBackProc.Add(Id, this);

            Debug.Print($"{result}, {Id}, {virtualKeyCode}");
            return(result);
        }
示例#2
0
        private static void ComponentDispatcherThreadFilterMessage(ref MSG msg, ref bool handled)
        {
            if (handled)
            {
                return;
            }
            if (msg.message != WmHotKey)
            {
                return;
            }
            if (!DictHotKeyToCalBackProc.TryGetValue((int)msg.wParam, out var hotkeyBinding))
            {
                return;
            }

            hotkeyBinding.Action?.Invoke(hotkeyBinding);
            handled = true;
        }
示例#3
0
 public void Unbind()
 {
     UnregisterHotKey(IntPtr.Zero, Id);
     DictHotKeyToCalBackProc.Remove(Id);
 }