private bool SetUpKeyBoardSwitchHotkeyEventHandler(int index, Keys keys) { if (_imitateItem.KeyboardImitateItems.Values.Count(keyboardImitateItem => keyboardImitateItem.Hotkey == keys) > 1) { MessageBox.Show("此快捷键已存在\n相同快捷键只有第一个会生效\n请重新设置", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (_imitateItem.KeyboardImitateItems[index].HotkeyId != default) { Hotkey.UnregisterHotKey(Handle, _imitateItem.KeyboardImitateItems[index].HotkeyId); _imitateItem.HotkeyIds.Remove(_imitateItem.KeyboardImitateItems[index].HotkeyId); } int hotkeyId; do { hotkeyId = Utils.GenerateHotkeyId(); if (_imitateItem.HotkeyIds.ContainsKey(hotkeyId)) { continue; } _imitateItem.HotkeyIds.Add(hotkeyId, "键盘"); _imitateItem.KeyboardImitateItems[index].HotkeyId = hotkeyId; break; } while (true); Hotkey.RegisterHotKey(Handle, hotkeyId, KeyModifiers.Ctrl, keys); return(true); }
private void InitializeComponent() { Hotkey.RegisterHotKey(Handle, 101, KeyModifiers.Shift, Keys.S); _lblPositionMessage = new Label(); _lblPositionHotkey = new Label(); Controls.Add(_lblPositionMessage); Controls.Add(_lblPositionHotkey); Icon = (Icon) new ComponentResourceManager(typeof(MainForm)).GetObject("$this.Icon"); Size = new Size(700, 350); StartPosition = FormStartPosition.CenterScreen; MaximizeBox = false; MinimizeBox = false; Text = Title; FormClosing += (_, _) => { Hotkey.UnregisterHotKey(Handle, 101); }; _lblPositionMessage.Size = new Size(700, 82); _lblPositionMessage.Location = new Point(-15, 50); _lblPositionMessage.TabIndex = 0; _lblPositionMessage.Text = "鼠标指针移动至要获取坐标的位置"; _lblPositionMessage.TextAlign = ContentAlignment.MiddleCenter; _lblPositionMessage.Font = new Font("宋体", 12F, FontStyle.Bold, GraphicsUnit.Point, 134); _lblPositionHotkey.Size = new Size(700, 82); _lblPositionHotkey.Location = new Point(-15, 135); _lblPositionHotkey.TabIndex = 0; _lblPositionHotkey.Text = "按下【" + HotkeySwitch + "】即可"; _lblPositionHotkey.TextAlign = ContentAlignment.MiddleCenter; _lblPositionHotkey.Font = new Font("宋体", 12F, FontStyle.Bold, GraphicsUnit.Point, 134); }
private void RemoveKeyboardEventHandler(int removeIndex) { foreach (var keyboardImitateItem in _imitateItem.KeyboardImitateItems.Values.Where(keyboardImitateItem => keyboardImitateItem.Index > removeIndex)) { keyboardImitateItem.GrpKeyboardItem.Location = new Point( keyboardImitateItem.GrpKeyboardItem.Location.X, keyboardImitateItem.GrpKeyboardItem.Location.Y - 220); } _imitateItem.KeyboardImitateItems[removeIndex].JobStop(); pnlKeyboard.Controls.Remove(_imitateItem.KeyboardImitateItems[removeIndex].GrpKeyboardItem); Hotkey.UnregisterHotKey(Handle, _imitateItem.KeyboardImitateItems[removeIndex].HotkeyId); _imitateItem.HotkeyIds.Remove(_imitateItem.KeyboardImitateItems[removeIndex].HotkeyId); _imitateItem.KeyboardImitateItems.Remove(removeIndex); }
private void RemoveMouseEventHandler(int removeIndex) { foreach (var mouseImitateItem in _imitateItem.MouseImitateItems.Values.Where(mouseImitateItem => mouseImitateItem.Index > removeIndex)) { mouseImitateItem.GrpMouseItem.Location = new Point(mouseImitateItem.GrpMouseItem.Location.X, mouseImitateItem.GrpMouseItem.Location.Y - 220); } _imitateItem.MouseImitateItems[removeIndex].JobStop(); pnlMouse.Controls.Remove(_imitateItem.MouseImitateItems[removeIndex].GrpMouseItem); Hotkey.UnregisterHotKey(Handle, _imitateItem.MouseImitateItems[removeIndex].HotkeyId); _imitateItem.HotkeyIds.Remove(_imitateItem.MouseImitateItems[removeIndex].HotkeyId); _imitateItem.MouseImitateItems.Remove(removeIndex); }
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { foreach (var mouseImitateItem in _imitateItem.MouseImitateItems.Values) { mouseImitateItem.Save(); } foreach (var keyboardImitateItem in _imitateItem.KeyboardImitateItems.Values) { keyboardImitateItem.Save(); } foreach (var hotkeyId in _imitateItem.HotkeyIds) { Hotkey.UnregisterHotKey(Handle, hotkeyId.Key); } File.WriteAllText("imitateItem.json", JsonConvert.SerializeObject(_imitateItem)); Environment.Exit(0); }