Ejemplo n.º 1
0
        protected internal override void Send(string keys) {
            if(keys.Length == 0)
                return;

            var len = keys.Length * 2;
            var inputs = new WindowsAPI.INPUT[len];

            for(int i = 0; i < keys.Length; i++) {
                uint flag = WindowsAPI.KEYEVENTF_UNICODE;

                if((keys[i] & 0xff00) == 0xe000)
                    flag |= WindowsAPI.KEYEVENTF_EXTENDEDKEY;

                var down = new WindowsAPI.INPUT { type = WindowsAPI.INPUT_KEYBOARD };
                down.i.k = new WindowsAPI.KEYBDINPUT { wScan = keys[i], dwFlags = flag };

                var up = new WindowsAPI.INPUT { type = WindowsAPI.INPUT_KEYBOARD };
                up.i.k = new WindowsAPI.KEYBDINPUT { wScan = keys[i], dwFlags = flag | WindowsAPI.KEYEVENTF_KEYUP };

                int x = i * 2;
                inputs[x] = down;
                inputs[x + 1] = up;
            }

            ignore = true;
            WindowsAPI.SendInput((uint)len, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }
Ejemplo n.º 2
0
        protected override void Backspace(int length)
        {
            length *= 2;
            var inputs = new WindowsAPI.INPUT[length];

            for (int i = 0; i < length; i += 2)
            {
                var down = new WindowsAPI.INPUT {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                down.i.k = new WindowsAPI.KEYBDINPUT {
                    wVk = VK_BACK
                };

                var up = new WindowsAPI.INPUT {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                up.i.k = new WindowsAPI.KEYBDINPUT {
                    wVk = VK_BACK, dwFlags = WindowsAPI.KEYEVENTF_KEYUP
                };

                inputs[i]     = down;
                inputs[i + 1] = up;
            }

            ignore = true;
            WindowsAPI.SendInput((uint)length, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }
Ejemplo n.º 3
0
        protected internal override void Send(string keys)
        {
            if (keys.Length == 0)
            {
                return;
            }

            var len    = keys.Length * 2;
            var inputs = new WindowsAPI.INPUT[len];

            for (int i = 0; i < keys.Length; i++)
            {
                uint flag = WindowsAPI.KEYEVENTF_UNICODE;

                if ((keys[i] & 0xff00) == 0xe000)
                {
                    flag |= WindowsAPI.KEYEVENTF_EXTENDEDKEY;
                }

                var down = new WindowsAPI.INPUT
                {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                down.i.k = new WindowsAPI.KEYBDINPUT
                {
                    wScan   = keys[i],
                    dwFlags = flag
                };

                var up = new WindowsAPI.INPUT
                {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                up.i.k = new WindowsAPI.KEYBDINPUT
                {
                    wScan   = keys[i],
                    dwFlags = flag | WindowsAPI.KEYEVENTF_KEYUP
                };

                int x = i * 2;
                inputs[x]     = down;
                inputs[x + 1] = up;
            }

            ignore = true;
            WindowsAPI.SendInput((uint)len, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }
Ejemplo n.º 4
0
        protected internal override void Send(Keys key)
        {
            key &= ~Keys.Modifiers;

            if (key == Keys.None)
            {
                return;
            }

            uint flag = WindowsAPI.KEYEVENTF_UNICODE;
            var  vk   = (ushort)key;

            if ((vk & 0xff00) == 0xe000)
            {
                flag |= WindowsAPI.KEYEVENTF_EXTENDEDKEY;
            }

            var down = new WindowsAPI.INPUT
            {
                type = WindowsAPI.INPUT_KEYBOARD
            };

            down.i.k = new WindowsAPI.KEYBDINPUT
            {
                wVk     = vk,
                dwFlags = flag
            };

            var up = new WindowsAPI.INPUT
            {
                type = WindowsAPI.INPUT_KEYBOARD
            };

            up.i.k = new WindowsAPI.KEYBDINPUT
            {
                wVk     = vk,
                dwFlags = flag | WindowsAPI.KEYEVENTF_KEYUP
            };

            var inputs = new[] { down, up };

            ignore = true;
            WindowsAPI.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }
Ejemplo n.º 5
0
        protected internal override void Send(Keys key) {
            key &= ~Keys.Modifiers;

            if(key == Keys.None)
                return;

            uint flag = WindowsAPI.KEYEVENTF_UNICODE;
            var vk = (ushort)key;

            if((vk & 0xff00) == 0xe000)
                flag |= WindowsAPI.KEYEVENTF_EXTENDEDKEY;

            var down = new WindowsAPI.INPUT { type = WindowsAPI.INPUT_KEYBOARD };
            down.i.k = new WindowsAPI.KEYBDINPUT { wVk = vk, dwFlags = flag };

            var up = new WindowsAPI.INPUT { type = WindowsAPI.INPUT_KEYBOARD };
            up.i.k = new WindowsAPI.KEYBDINPUT { wVk = vk, dwFlags = flag | WindowsAPI.KEYEVENTF_KEYUP };

            var inputs = new[] { down, up };

            ignore = true;
            WindowsAPI.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }
Ejemplo n.º 6
0
        protected override void Backspace(int length)
        {
            length *= 2;
            var inputs = new WindowsAPI.INPUT[length];

            for (int i = 0; i < length; i += 2)
            {
                var down = new WindowsAPI.INPUT
                {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                down.i.k = new WindowsAPI.KEYBDINPUT
                {
                    wVk = VK_BACK
                };

                var up = new WindowsAPI.INPUT
                {
                    type = WindowsAPI.INPUT_KEYBOARD
                };
                up.i.k = new WindowsAPI.KEYBDINPUT
                {
                    wVk = VK_BACK,
                    dwFlags = WindowsAPI.KEYEVENTF_KEYUP
                };

                inputs[i] = down;
                inputs[i + 1] = up;
            }

            ignore = true;
            WindowsAPI.SendInput((uint) length, inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
            ignore = false;
        }