public TFKey(VirtualKeyShort VirtualKeyShort, ScanCodeShort ScanCodeShort, String TFKeyName, String DisplayText) { this.VirtualKeyShort = VirtualKeyShort; this.ScanCodeShort = ScanCodeShort; this.TFKeyName = TFKeyName; this.DisplayText = DisplayText; }
public void Send(ScanCodeShort key, float downTime = KEY_DOWN_TIME, Action callback = null) { if (WinUtils.GetActiveWindow() != this.window) { Stop(); return; } else if (IsKeyDownTimerActive(key)) { return; } downTime = Math.Max(KEY_DOWN_TIME, downTime); Timer timer = TryGetTimerForKey(key); if (timer != null) { timer.Stop(); timer.Interval = downTime * 1000; keydownTimers[key] = new Tuple <Timer, Action>(timer, callback); VirtualKeyShort vk = GetVK(key); SendInput(vk, key, KEYEVENTF.SCANCODE); timer.Start(); } }
public static void GenerateKeySendInput(ScanCodeShort vk, bool bExtended) { INPUT[] inputs = new INPUT[1]; inputs[0].type = 1; KEYBDINPUT kb = new KEYBDINPUT(); //{0}; // generate down if (bExtended) { kb.dwFlags = KEYEVENTF.EXTENDEDKEY; } //kb.wVk = vk; kb.wScan = vk; inputs[0].U.ki = kb; SendInput(1, inputs, System.Runtime.InteropServices.Marshal.SizeOf(inputs[0])); // generate up kb.dwFlags = KEYEVENTF.KEYUP; if (bExtended) { kb.dwFlags |= KEYEVENTF.EXTENDEDKEY; } //kb.wVk = vk; kb.wScan = vk; inputs[0].type = 1; inputs[0].U.ki = kb; SendInput(1, inputs, System.Runtime.InteropServices.Marshal.SizeOf(inputs[0])); }
public void SendCombination(ScanCodeShort first, ScanCodeShort second) { INPUT[] inputs = new INPUT[2]; inputs[0].type = 1; inputs[0].U.ki.wScan = first; inputs[0].U.ki.dwFlags = KEYEVENTF.EXTENDEDKEY | KEYEVENTF.SCANCODE; inputs[1].type = 1; inputs[1].U.ki.wScan = second; inputs[1].U.ki.dwFlags = KEYEVENTF.SCANCODE; KeyboardHook.allowNext += 1; SendInput((uint)1, new INPUT[] { inputs[0] }, INPUT.Size); Console.WriteLine("sdf"); KeyboardHook.allowNext += 1; Thread.Sleep(rng.Next(50, 150)); SendInput((uint)1, new INPUT[] { inputs[1] }, INPUT.Size); Thread.Sleep(rng.Next(50, 150)); KeyboardHook.allowNext += 1; INPUT up = new INPUT(); up.type = 1; up.U.ki.wScan = first; up.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | KEYEVENTF.EXTENDEDKEY; SendInput((uint)1, new INPUT[] { up }, INPUT.Size); }
private INPUT[] GetUpDown(ScanCodeShort scanCodeShort, VirtualKeyShort virtualKeyShort) { return(new[] { new INPUT { type = InputType.KEYBOARD, U = new InputUnion { ki = new KEYBDINPUT { wScan = scanCodeShort, wVk = virtualKeyShort } } }, new INPUT { type = InputType.KEYBOARD, U = new InputUnion { ki = new KEYBDINPUT { wScan = scanCodeShort, wVk = virtualKeyShort, dwFlags = KEYEVENTF.KEYUP } } } }); }
private static INPUT NewInputKey(ScanCodeShort sc) { INPUT ret = NewInputKey(); ret.U.ki.wScan = sc; return(ret); }
private ScanCodeShort SCSFromVKC(VirtualKeyCode vkc) { ScanCodeShort scs = ScanCodeShort.DEFAULTNONE; try { scs = (ScanCodeShort)Enum.Parse(typeof(ScanCodeShort), Enum.GetName(typeof(VirtualKeyCode), vkc), false); } catch { } return(scs); }
public short KeyState(ScanCodeShort key) { int keycode = (int)key; VirtualKeyShort keyShort = GetVK(key); keycode = (int)(keyShort); return(GetKeyState(keycode)); }
public static void SendKeyPress(ScanCodeShort key) { SendKeyDown(key); Thread.Sleep(10); SendKeyUp(key); }
public static void hold1(ScanCodeShort a, ScanCodeShort b, int delay) { keydown(a); Script.sleep(delay); send(b); Script.sleep(delay); keyup(a); }
public static void SendKeyPress(ScanCodeShort key) { SendKeyDown(key); Thread.Sleep(10); SendKeyUp(key); }
public KeyboardCommand createUnicodeKey(ScanCodeShort unicode) { var res = new KeyboardCommand(); res.keyType = KeyType.UNICODE; res.scanKey = unicode; res.keyDown = false; return(res); }
public INPUT(uint type, ScanCodeShort scan, KEYEVENTF flags) { this.type = type; this.U = new InputUnion { ki = new KEYBDINPUT { wScan = scan, dwFlags = flags } }; }
public void SendVirtual(VirtualKeyShort v) { ScanCodeShort a = GetScanFromVirtual(v); if (a != ScanCodeShort.LBUTTON) { Send(a); } }
public static short getScanCodeByName(string name) { //получаю значение enum по имени ScanCodeShort elem = (ScanCodeShort)Enum.Parse(typeof(ScanCodeShort), name); //return elem; object val = Convert.ChangeType(elem, elem.GetTypeCode()); return((short)val); }
private static void ReleaseKey(ScanCodeShort realKey) { INPUT[] inputs = new INPUT[1]; inputs[0].type = 1; inputs[0].U.ki.wScan = realKey; inputs[0].U.ki.dwFlags = KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP; SendInput(1, inputs, INPUT.Size); }
/** * Send: Sends a keyboard input to computer */ public void Send(ScanCodeShort a) //use the ScanShortCode from Keys.cs to pass keys to the input of the machine { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.SCANCODE; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public KeyboardCommand createScanKey(ScanCodeShort scanKey, bool extendedKey = false, bool keyDown = true) { var res = new KeyboardCommand(); res.keyType = KeyType.SCAN; res.scanKey = scanKey; res.scanExtendedKey = extendedKey; res.keyDown = keyDown; return(res); }
public static void InputKeyboardKey(ScanCodeShort scs, KEYEVENTF flags = KEYEVENTF.SCANCODE) { INPUT[] Inputs = new INPUT[1]; Inputs[0].type = 1; // 1 = Keyboard Input Inputs[0].U.ki.wScan = scs; Inputs[0].U.ki.dwFlags = flags; SendInput(1, Inputs, INPUT.Size); }
public static void KeyUP(ScanCodeShort a, bool EXTENDEDKEY) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | (EXTENDEDKEY ? KEYEVENTF.EXTENDEDKEY : 0); Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public static void Send(ScanCodeShort a) { var input = new Input { type = 1 // 1 = Keyboard Input }; input.U.ki.wScan = a; input.U.ki.dwFlags = KEYEVENTF.SCANCODE; SendInput(1, new [] { input }, Input.Size); }
private static INPUT[] GetKeyInput(KEYEVENTF keyEvent, ScanCodeShort scanCode = 0) { INPUT[] KeyInput = new INPUT[1]; KeyInput[0].type = 1; KeyInput[0].U.ki.wVk = 0; KeyInput[0].U.ki.dwFlags = keyEvent; KeyInput[0].U.ki.wScan = scanCode; return(KeyInput); }
public static void InputKeyboardClick(ScanCodeShort scs, int duration_ms = 2, int delay_ms = 1, bool reset = false) { if (reset) { KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP); } Thread.Sleep(delay_ms); KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE); Thread.Sleep(duration_ms); KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP); }
public void SendKey(ScanCodeShort shortCode) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = shortCode; Input.U.ki.dwFlags = KEYEVENTF.SCANCODE; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public static void Send(ScanCodeShort a) { var inputs = new INPUT[1]; var input = new INPUT(); input.type = 1; // 1 = Keyboard Input input.U.ki.wScan = a; input.U.ki.dwFlags = KEYEVENTF.SCANCODE; inputs[0] = input; SendInput(1, inputs, INPUT.Size); }
public void SendUp(ScanCodeShort a, KEYEVENTF keyType) { if (keyType == KEYEVENTF.SCANCODE) { _InputKeyLib.VSendUp(a); } else if (keyType == KEYEVENTF.EXTENDEDKEY) { _InputKeyLib.SendUp(a); } }
public void VSendUp(ScanCodeShort a) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public static void ReleaseKey(ScanCodeShort key) { var Inputs = new INPUT[1]; var Input = new INPUT(); Input.type = 1; Input.U.ki.wScan = key; Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public void SendDown(ScanCodeShort a) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.EXTENDEDKEY | 0; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public static void Release(ScanCodeShort a) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.KEYUP; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
public void Send(ScanCodeShort a) { INPUT[] Inputs = new INPUT[1]; INPUT Input = new INPUT(); Input.type = 1; Input.U.ki.wScan = a; Input.U.ki.dwFlags = KEYEVENTF.SCANCODE; Inputs[0] = Input; SendInput(1, Inputs, INPUT.Size); }
private void AddInput(VirtualKeyShort vk, ScanCodeShort sc) { INPUT tmp = new INPUT(); tmp.type = EINPUT.KEYBOARD; tmp.U.ki.wVk = vk; tmp.U.ki.wScan = sc; tmp.U.ki.time = 0; tmp.U.ki.dwFlags = KEYEVENTF.UNICODE; tmp.U.ki.dwExtraInfo = UIntPtr.Zero; m_input.Add(tmp); tmp.U.ki.dwFlags |= KEYEVENTF.KEYUP; m_input.Add(tmp); }
public static void SendKeyUp(ScanCodeShort key) { INPUT Input = new INPUT(); Input.type = 1; // 1 = Keyboard Input Input.U.ki.wScan = key; if (IsExtendedKey(key)) { Input.U.ki.dwFlags = (KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | KEYEVENTF.EXTENDEDKEY); } else { Input.U.ki.dwFlags = (KEYEVENTF.KEYUP| KEYEVENTF.SCANCODE); } WindowsApi.SendInput(1, new[] { Input }, INPUT.Size); }
public static bool IsExtendedKey(ScanCodeShort keyCode) { var extendedKeys = new[] { ScanCodeShort.END, ScanCodeShort.PRIOR, ScanCodeShort.NEXT, ScanCodeShort.INSERT, ScanCodeShort.DELETE, ScanCodeShort.UP, ScanCodeShort.DOWN, ScanCodeShort.LEFT, ScanCodeShort.RIGHT }; return extendedKeys.Any(c => c == keyCode); }
public static void SendForgroundKeyUp(ScanCodeShort wScan,VirtualKeyShort wVk) { INPUT[] pInputs = new INPUT[1]; pInputs[0].type = 1; pInputs[0].U.ki.wScan = wScan; pInputs[0].U.ki.wVk = wVk; pInputs[0].U.ki.dwFlags = KEYEVENTF.KEYUP; User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size); }
public SingleKeyCommandHandler(ScanCodeShort keyCode) { _keyCode = keyCode; }
private static INPUT NewInputKey(ScanCodeShort sc) { INPUT ret = NewInputKey(); ret.U.ki.wScan = sc; return ret; }
public void AddInput(ScanCodeShort sc) { AddInput((VirtualKeyShort)0, sc); }
public static void SendForgroundKey(ScanCodeShort wScan, VirtualKeyShort wVk, int holdTimeout) { INPUT[] pInputs = new INPUT[1]; pInputs[0].type = 1; pInputs[0].U.ki.wScan = wScan; pInputs[0].U.ki.wVk = wVk; User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size); System.Threading.Thread.Sleep(holdTimeout); pInputs[0].U.ki.dwFlags = KEYEVENTF.KEYUP; User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size); }