Example #1
0
        public static uint SimulateKeyUp(Win32API.VirtualKey vkCode, Win32API.ScanCode scanCode, bool extended)
        {
            Win32API.KeyEventFlags flags = Win32API.KeyEventFlags.KEYUP;
            if (extended)
            {
                flags |= Win32API.KeyEventFlags.EXTENDEDKEY;
            }

            return(SimulateKeyEvent(vkCode, scanCode, Win32API.KeyEventFlags.KEYUP, UIntPtr.Zero));
        }
Example #2
0
        private static uint SimulateKeyEvent(Win32API.VirtualKey vkCode, Win32API.ScanCode scanCode, Win32API.KeyEventFlags flags, UIntPtr dwExtraInfo)
        {
#if (SIMULATE_KEYS_SENDINPUT)
            Win32API.INPUT[] inputs = new Win32API.INPUT[]
            {
                new Win32API.INPUT
                {
                    type = Win32API.INPUT_TYPE.INPUT_KEYBOARD,
                    U    = new Win32API.InputUnion
                    {
                        ki = new Win32API.KEYBDINPUT
                        {
                            wVk         = vkCode,
                            wScan       = scanCode,
                            dwFlags     = flags,
                            time        = 0,
                            dwExtraInfo = dwExtraInfo
                        }
                    }
                }
            };

            return(Win32API.SendInput((uint)inputs.Length, inputs, Win32API.INPUT.Size));
#else
            Win32API.keybd_event((uint)vkCode, (uint)scanCode, flags, dwExtraInfo);
            return(0);
#endif
        }