public bool Bind() { var result = RegisterHotKey(IntPtr.Zero, Id, (uint)KeyModifiers, (uint)virtualKeyCode); DictHotKeyToCalBackProc.Add(Id, this); Debug.Print($"{result}, {Id}, {virtualKeyCode}"); return(result); }
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; }
public void Unbind() { UnregisterHotKey(IntPtr.Zero, Id); DictHotKeyToCalBackProc.Remove(Id); }