public void RegisterHotkey(HotkeyInfo hotkeyInfo) { if (hotkeyInfo != null && hotkeyInfo.Status != HotkeyStatus.Registered) { if (!hotkeyInfo.IsValidHotkey) { hotkeyInfo.Status = HotkeyStatus.NotConfigured; return; } if (hotkeyInfo.ID == 0) { string uniqueID = Helpers.GetUniqueID(); hotkeyInfo.ID = NativeMethods.GlobalAddAtom(uniqueID); if (hotkeyInfo.ID == 0) { DebugHelper.WriteLine("Unable to generate unique hotkey ID: " + hotkeyInfo); hotkeyInfo.Status = HotkeyStatus.Failed; return; } } if (!NativeMethods.RegisterHotKey(Handle, hotkeyInfo.ID, (uint)hotkeyInfo.ModifiersEnum, (uint)hotkeyInfo.KeyCode)) { NativeMethods.GlobalDeleteAtom(hotkeyInfo.ID); DebugHelper.WriteLine("Unable to register hotkey: " + hotkeyInfo); hotkeyInfo.ID = 0; hotkeyInfo.Status = HotkeyStatus.Failed; return; } hotkeyInfo.Status = HotkeyStatus.Registered; } }
public HotkeySettings(HotkeyType job, Keys hotkey = Keys.None) : this() { TaskSettings = TaskSettings.GetDefaultTaskSettings(); TaskSettings.Job = job; HotkeyInfo = new HotkeyInfo(hotkey); }
public bool UnregisterHotkey(HotkeyInfo hotkeyInfo) { if (hotkeyInfo != null) { if (hotkeyInfo.ID > 0) { bool result = NativeMethods.UnregisterHotKey(Handle, hotkeyInfo.ID); if (result) { NativeMethods.GlobalDeleteAtom(hotkeyInfo.ID); hotkeyInfo.ID = 0; hotkeyInfo.Status = HotkeyStatus.NotConfigured; return(true); } } hotkeyInfo.Status = HotkeyStatus.Failed; } return(false); }
public HotkeySettings() { HotkeyInfo = new HotkeyInfo(); }
public bool UnregisterHotkey(HotkeyInfo hotkeyInfo) { if (hotkeyInfo != null) { if (hotkeyInfo.ID > 0) { bool result = NativeMethods.UnregisterHotKey(Handle, hotkeyInfo.ID); if (result) { NativeMethods.GlobalDeleteAtom(hotkeyInfo.ID); hotkeyInfo.ID = 0; hotkeyInfo.Status = HotkeyStatus.NotConfigured; return true; } } hotkeyInfo.Status = HotkeyStatus.Failed; } return false; }