internal static Keys WinProcKeyToWinFormKey(ECWinProcKeyModifier _modifiers)
        {
            int ret = (int)ECWinProcKeyModifier.None;

            ret = (_modifiers & ECWinProcKeyModifier.Alt) > 0 ? ret | (int)Keys.Alt : ret;
            ret = (_modifiers & ECWinProcKeyModifier.Shift) > 0 ? ret | (int)Keys.Shift : ret;
            ret = (_modifiers & ECWinProcKeyModifier.Control) > 0 ? ret | (int)Keys.Control : ret;
            //ret = (modifier & ECWinProcKeyModifier.WinKey) > 0 ? ret | (int)Keys.Wi : ret;

            return((Keys)ret);
        }
Beispiel #2
0
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            if (m.Msg == WM_HOTKEY)
            {
                // get the keys.
                Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);
                ECWinProcKeyModifier modifiers = (ECWinProcKeyModifier)((int)m.LParam & 0xFFFF);

                int  winFormsModifier = (int)ECHotkeyHelper.WinProcKeyToWinFormKey(modifiers);
                Keys keyAndModifier   = (Keys)(winFormsModifier | (int)key);

                if (ECHotkeyHelper.hotkeys.ContainsKey(keyAndModifier))
                {
                    ECHotkeyHelper.hotkeys[keyAndModifier].callback();
                }
            }
        }