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); }
public MainForm() { InitializeComponent(); Hotkey.RegisterHotKey(Handle, 100, KeyModifiers.Shift, Keys.D); _imitateItem = new ImitateItem(); Drive.Initial(); }
private void MainForm_Load(object sender, EventArgs e) { if (!File.Exists("imitateItem.json")) { Initial(); } else { try { _imitateItem = JsonConvert.DeserializeObject <ImitateItem>(File.ReadAllText("imitateItem.json")); foreach (var mouseImitateItem in from mouseImitate in _imitateItem.MouseImitateItems.Values let count = pnlMouse.Controls.Count select new MouseImitateItem(count * 220, mouseImitate.Index, mouseImitate.Name, mouseImitate.Operate, mouseImitate.PositionX, mouseImitate.PositionY, mouseImitate.Interval, mouseImitate.Hotkey, RemoveMouseEventHandler, SetUpMouseSwitchHotkeyEventHandler)) { Hotkey.RegisterHotKey(Handle, mouseImitateItem.HotkeyId, KeyModifiers.Alt, mouseImitateItem.Hotkey); pnlMouse.Controls.Add(mouseImitateItem.GrpMouseItem); _imitateItem.MouseImitateItems.Add(mouseImitateItem.Index, mouseImitateItem); } foreach (var keyboardImitateItem in from keyboardImitate in _imitateItem.KeyboardImitateItems.Values let count = pnlKeyboard.Controls.Count select new KeyboardImitateItem(count * 220, keyboardImitate.Index, keyboardImitate.Name, keyboardImitate.Operate, keyboardImitate.Interval, keyboardImitate.Hotkey, RemoveKeyboardEventHandler, SetUpKeyBoardSwitchHotkeyEventHandler)) { Hotkey.RegisterHotKey(Handle, keyboardImitateItem.HotkeyId, KeyModifiers.Ctrl, keyboardImitateItem.Hotkey); pnlKeyboard.Controls.Add(keyboardImitateItem.GrpKeyboardItem); _imitateItem.KeyboardImitateItems.Add(keyboardImitateItem.Index, keyboardImitateItem); } } catch (Exception) { Initial(); } } }