public static async Task KeyPressSingle(KeysVirtual virtualKey, bool extendedKey)
        {
            try
            {
                uint scanByte = 0;
                KeyboardEventFlags KeyFlagsDown = 0;
                KeyboardEventFlags KeyFlagsUp   = 0;
                if (extendedKey)
                {
                    scanByte     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDown = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUp   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByte     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDown = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUp   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                keybd_event(virtualKey, scanByte, KeyFlagsDown, 0); //Key Press
                await Task.Delay(10);

                keybd_event(virtualKey, scanByte, KeyFlagsUp, 0); //Key Release
            }
            catch { }
        }
        public static void KeyToggleSingle(KeysVirtual virtualKey, bool extendedKey, bool toggleDown)
        {
            try
            {
                uint scanByte = 0;
                KeyboardEventFlags KeyFlagsDown = 0;
                KeyboardEventFlags KeyFlagsUp   = 0;
                if (extendedKey)
                {
                    scanByte     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDown = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUp   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByte     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDown = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUp   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                if (toggleDown)
                {
                    keybd_event(virtualKey, scanByte, KeyFlagsDown, 0); //Key Press
                }
                else
                {
                    keybd_event(virtualKey, scanByte, KeyFlagsUp, 0); //Key Release
                }
            }
            catch { }
        }
        public static void KeyToggleCombo(KeysVirtual modifierKey, bool extendedModifier, KeysVirtual virtualKey, bool extendedVirtual, bool toggleDown)
        {
            try
            {
                uint scanByteMod = 0;
                KeyboardEventFlags KeyFlagsDownMod = 0;
                KeyboardEventFlags KeyFlagsUpMod   = 0;
                if (extendedModifier)
                {
                    scanByteMod     = MapVirtualKey(modifierKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDownMod = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpMod   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByteMod     = MapVirtualKey(modifierKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDownMod = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpMod   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                uint scanByteVk = 0;
                KeyboardEventFlags KeyFlagsDownVk = 0;
                KeyboardEventFlags KeyFlagsUpVk   = 0;
                if (extendedVirtual)
                {
                    scanByteVk     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDownVk = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpVk   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByteVk     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDownVk = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpVk   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                if (toggleDown)
                {
                    keybd_event(modifierKey, scanByteMod, KeyFlagsDownMod, 0); //Modifier Press
                    keybd_event(virtualKey, scanByteVk, KeyFlagsDownVk, 0);    //Key Press
                }
                else
                {
                    keybd_event(virtualKey, scanByteVk, KeyFlagsUpVk, 0);    //Key Release
                    keybd_event(modifierKey, scanByteMod, KeyFlagsUpMod, 0); //Modifier Release
                }
            }
            catch { }
        }
        public static async Task KeyPressCombo(KeysVirtual modifierKey, bool extendedModifier, KeysVirtual virtualKey, bool extendedVirtual)
        {
            try
            {
                uint scanByteMod = 0;
                KeyboardEventFlags KeyFlagsDownMod = 0;
                KeyboardEventFlags KeyFlagsUpMod   = 0;
                if (extendedModifier)
                {
                    scanByteMod     = MapVirtualKey(modifierKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDownMod = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpMod   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByteMod     = MapVirtualKey(modifierKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDownMod = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpMod   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                uint scanByteVk = 0;
                KeyboardEventFlags KeyFlagsDownVk = 0;
                KeyboardEventFlags KeyFlagsUpVk   = 0;
                if (extendedVirtual)
                {
                    scanByteVk     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC_EX);
                    KeyFlagsDownVk = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpVk   = KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY | KeyboardEventFlags.KEYEVENTF_KEYUP;
                }
                else
                {
                    scanByteVk     = MapVirtualKey(virtualKey, MapVirtualKeyMapTypes.MAPVK_VK_TO_VSC);
                    KeyFlagsDownVk = KeyboardEventFlags.KEYEVENTF_NONE;
                    KeyFlagsUpVk   = KeyboardEventFlags.KEYEVENTF_KEYUP;
                }

                keybd_event(modifierKey, scanByteMod, KeyFlagsDownMod, 0); //Modifier Press
                keybd_event(virtualKey, scanByteVk, KeyFlagsDownVk, 0);    //Key Press
                await Task.Delay(10);

                keybd_event(virtualKey, scanByteVk, KeyFlagsUpVk, 0);    //Key Release
                keybd_event(modifierKey, scanByteMod, KeyFlagsUpMod, 0); //Modifier Release
            }
            catch { }
        }
Esempio n. 5
0
 private static extern void keybd_event(byte bVk, byte bScan, KeyboardEventFlags dwFlags, IntPtr dwExtraInfo);
Esempio n. 6
0
		private static extern void keybd_event(byte bVk, byte bScan, KeyboardEventFlags dwFlags, IntPtr dwExtraInfo);
Esempio n. 7
0
 public static extern void keybd_event(KeysVirtual bVk, uint bScan, KeyboardEventFlags dwFlags, int dwExtraInfo);
Esempio n. 8
0
 /// <summary>
 /// Synthesizes a keystroke
 /// </summary>
 /// <param name="keyCode">A virtual-key code. The code must be a value in the range 1 to 254</param>
 /// <param name="bScan">A hardware scan code for the key</param>
 /// <param name="dwFlags">Controls various aspects of function operation</param>
 /// <param name="dwExtraInfo">An additional value associated with the key stroke</param>
 public static void KeyboardEvent(KeyboardKeyCodes keyCode, byte bScan = 0, KeyboardEventFlags dwFlags = KeyboardEventFlags.NONE, int dwExtraInfo = 0)
 {
     AutoSharpKeyboard.AutoSharpKeyboardInput.KeyboardEvent(keyCode, bScan, (int)dwFlags, dwExtraInfo);
 }
Esempio n. 9
0
 public static extern void keybd_event(int bVk, uint bScan, KeyboardEventFlags dwFlags, UIntPtr dwExtraInfo);
Esempio n. 10
0
 public static extern void keybd_event(VirtualKeyCodes bVk, byte bScan, KeyboardEventFlags dwFlags, UIntPtr dwExtraInfo);