예제 #1
0
        /// <summary>
        ///             ''' Sends a key up signal.
        ///             ''' </summary>
        ///             ''' <param name="kCode">The virtual keycode to send.</param>
        ///             ''' <remarks></remarks>
        public static void KeyUp(Keys kCode)
        {
            ScanKey sKey  = GetScanKey(kCode);
            INPUT   input = new INPUT();

            input.dwType              = INPUT_KEYBOARD;
            input.mkhi.ki             = new KEYBDINPUT();
            input.mkhi.ki.wScan       = System.Convert.ToInt16(sKey.ScanCode);
            input.mkhi.ki.dwExtraInfo = IntPtr.Zero;
            input.mkhi.ki.dwFlags     = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP | (sKey.Extended ? KEYEVENTF_EXTENDEDKEY : System.Convert.ToUInt32(0));
            int cbSize = Marshal.SizeOf(typeof(INPUT));

            SendInput(1, ref input, cbSize);
        }
예제 #2
0
        /// <summary>
        /// Sends a key down signal.
        /// </summary>
        /// <param name="kCode">The virtual keycode to send.</param>
        /// <remarks></remarks>
        public static void KeyDown(Keys kCode)
        {
            ScanKey sKey  = GetScanKey(kCode);
            INPUT   input = new INPUT();

            input.dwType              = INPUT_KEYBOARD;
            input.mkhi.ki             = new KEYBDINPUT();
            input.mkhi.ki.wScan       = (short)sKey.ScanCode;
            input.mkhi.ki.dwExtraInfo = IntPtr.Zero;
            input.mkhi.ki.dwFlags     = KEYEVENTF_SCANCODE | (sKey.Extended ? KEYEVENTF_EXTENDEDKEY : 0);
            int cbSize = Marshal.SizeOf(typeof(INPUT));

            SendInput(1, ref input, cbSize);
        }
예제 #3
0
        /// <summary>
        /// Sends a key up signal.
        /// </summary>
        /// <param name="kCode">The virtual keycode to send.</param>
        public static void KeyUp(Keys kCode)
        {
            ScanKey sKey  = GetScanKey(kCode);
            INPUT   input = new INPUT
            {
                dwType = INPUT_KEYBOARD
            };

            input.mkhi.ki = new KEYBDINPUT
            {
                wScan       = (short)sKey.ScanCode,
                dwExtraInfo = IntPtr.Zero,
                dwFlags     = (int)(KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP | (sKey.Extended ? KEYEVENTF_EXTENDEDKEY : uint.MinValue))
            };
            int cbSize = Marshal.SizeOf(typeof(INPUT));

            SendInput(1, ref input, cbSize);
        }