private void AddKeyInput(VirtualKeyCode keyCode, bool isKeyUp) { INPUT input = new INPUT(); input.Type = InputType.InputKeyboard; input.Data.Keyboard = new KEYBDINPUT(); input.Data.Keyboard.wVk = keyCode; if (isKeyUp) input.Data.Keyboard.dwFlags = KeyboardEventFlags.KEYEVENTF_KEYUP; InputList.Add(input); }
public void AddKeyPressText(string text) { byte[] chars = Encoding.ASCII.GetBytes(text); for (int i = 0; i < chars.Length; i++) { ushort scanCode = chars[i]; INPUT input = new INPUT(); input.Type = InputType.InputKeyboard; input.Data.Keyboard = new KEYBDINPUT(); input.Data.Keyboard.wScan = scanCode; input.Data.Keyboard.dwFlags = KeyboardEventFlags.KEYEVENTF_UNICODE; if ((scanCode & 0xFF00) == 0xE000) input.Data.Keyboard.dwFlags |= KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY; InputList.Add(input); input.Data.Keyboard.dwFlags |= KeyboardEventFlags.KEYEVENTF_KEYUP; InputList.Add(input); } }
private void AddMouseInput(MouseButtons button, bool isMouseUp) { INPUT input = new INPUT(); input.Type = InputType.InputMouse; input.Data.Mouse = new MOUSEINPUT(); if (button == MouseButtons.Left) { input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_LEFTUP : MouseEventFlags.MOUSEEVENTF_LEFTDOWN; } else if (button == MouseButtons.Right) { input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_RIGHTUP : MouseEventFlags.MOUSEEVENTF_RIGHTDOWN; } else if (button == MouseButtons.Middle) { input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_MIDDLEUP : MouseEventFlags.MOUSEEVENTF_MIDDLEDOWN; } else if (button == MouseButtons.XButton1) { input.Data.Mouse.mouseData = (uint)MouseEventDataXButtons.XBUTTON1; input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_XUP : MouseEventFlags.MOUSEEVENTF_XDOWN; } else if (button == MouseButtons.XButton2) { input.Data.Mouse.mouseData = (uint)MouseEventDataXButtons.XBUTTON2; input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_XUP : MouseEventFlags.MOUSEEVENTF_XDOWN; } InputList.Add(input); }
public void AddMouseWheel(int delta) { INPUT input = new INPUT(); input.Type = InputType.InputMouse; input.Data.Mouse = new MOUSEINPUT(); input.Data.Mouse.dwFlags = MouseEventFlags.MOUSEEVENTF_WHEEL; input.Data.Mouse.mouseData = (uint)delta; InputList.Add(input); }
public void AddMouseMove(int x, int y) { INPUT input = new INPUT(); input.Type = InputType.InputMouse; input.Data.Mouse = new MOUSEINPUT(); input.Data.Mouse.dx = (int)Math.Ceiling((double)(x * 65535) / NativeMethods.GetSystemMetrics(SystemMetric.SM_CXSCREEN)) + 1; input.Data.Mouse.dy = (int)Math.Ceiling((double)(y * 65535) / NativeMethods.GetSystemMetrics(SystemMetric.SM_CYSCREEN)) + 1; input.Data.Mouse.dwFlags = MouseEventFlags.MOUSEEVENTF_MOVE | MouseEventFlags.MOUSEEVENTF_ABSOLUTE; InputList.Add(input); }