Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }