Пример #1
0
        private static dwFlags ExtendedKeyFlagW(wVk key)
        {
            dwFlags flag = 0;

            if (key == wVk.VK_CONTROL)
            {//とりあえずControlだけ
                flag = dwFlags.KEYEVENTF_EXTENDEDKEY;
            }
            return(flag);
        }
Пример #2
0
        public static INPUT ToInput(this KeyEvent x)
        {
            switch (x.Type)
            {
            default:
            case EventType.KeyDown:
            case EventType.KeyUp:
                return(new INPUT
                {
                    type = type.INPUT_KEYBOARD,
                    ki = new KEYBDINPUT
                    {
                        time = (int)x.Elapsed,
                        wVk = (wVk)x.Code,
                        dwFlags = x.Type == EventType.KeyDown ? dwFlags.KEYEVENTF_KEYDOWN : dwFlags.KEYEVENTF_KEYUP,
                    },
                });

            case EventType.MouseDown:
            case EventType.MouseUp:
                dwFlags f = 0;

                switch ((System.Windows.Forms.MouseButtons)x.Code)
                {
                case System.Windows.Forms.MouseButtons.Left:
                    f = x.Type == EventType.MouseDown ? dwFlags.MOUSEEVENTF_LEFTDOWN : dwFlags.MOUSEEVENTF_LEFTUP;
                    break;

                case System.Windows.Forms.MouseButtons.Right:
                    f = x.Type == EventType.MouseDown ? dwFlags.MOUSEEVENTF_RIGHTDOWN : dwFlags.MOUSEEVENTF_RIGHTUP;
                    break;

                case System.Windows.Forms.MouseButtons.Middle:
                    f = x.Type == EventType.MouseDown ? dwFlags.MOUSEEVENTF_MIDDLEDOWN : dwFlags.MOUSEEVENTF_MIDDLEUP;
                    break;

                default:
                    break;
                }

                return(new INPUT
                {
                    type = type.INPUT_MOUSE,
                    mi = new MOUSEINPUT
                    {
                        time = (int)x.Elapsed,
                        dx = x.X,
                        dy = x.Y,
                        dwFlags = f,
                    },
                });
            }
        }