public static void KeyUp(IntPtr hWnd, EnumKeyboardKey key) { WindowsAPI.PostMessage(hWnd, 257, (IntPtr)((long)key), (IntPtr)Keyboard.MakeKeyLparam(key, false)); if (!Keyboard.m_downKeys.Contains(key)) { return; } Keyboard.m_downKeys.Remove(key); }
public static void KeyDown(IntPtr hWnd, EnumKeyboardKey key) { WindowsAPI.PostMessage(hWnd, 256, (IntPtr)((long)key), (IntPtr)Keyboard.MakeKeyLparam(key, true)); if (!Keyboard.m_downKeys.Contains(key)) { return; } Keyboard.m_downKeys.Add(key); }
/// <summary> /// 构造函数 /// </summary> /// <param name="key"></param> /// <param name="position"></param> /// <param name="isdrag"></param> /// <param name="endx"></param> /// <param name="endy"></param> public OptionKeys(EnumKeyboardKey key, Point position, bool isdrag = false, int endx = 0, int endy = 0) { this.Key = key; this.Position = position; this.IsDrag = isdrag; if (isdrag) { this.EndPosition = new Point(endx, endy); } }
private static int MakeKeyLparam(EnumKeyboardKey VirtualKey, bool keyDown) { string empty1 = string.Empty; string str1 = !keyDown ? 192.ToString() : "00"; int num = (int)WindowsAPI.MapVirtualKey(VirtualKey, 0); string empty2 = string.Empty; string str2 = "00" + (object)num; string str3 = str2.Substring(str2.Length - 2, 2); string s = str1 + str3 + "0001"; int result = 0; int.TryParse(s, out result); return(result); }
public static void KeyPress(IntPtr hWnd, EnumKeyboardKey key, int interval) { WindowsAPI.PostMessage(hWnd, 256, (IntPtr)((long)key), (IntPtr)Keyboard.MakeKeyLparam(key, true)); Thread.Sleep(interval); WindowsAPI.PostMessage(hWnd, 257, (IntPtr)((long)key), (IntPtr)Keyboard.MakeKeyLparam(key, false)); }
public static void KeyPress(EnumKeyboardKey key) { WindowsAPI.keybd_event(key, WindowsAPI.MapVirtualKey(key, 0), 0U, 0U); Thread.Sleep(0); WindowsAPI.keybd_event(key, WindowsAPI.MapVirtualKey(key, 0), 2U, 0U); }
public static bool IsKeyDown(EnumKeyboardKey key) { return(Keyboard.m_downKeys.Contains(key)); }
public static extern byte MapVirtualKey(EnumKeyboardKey wCode, int wMap);
public static void KeyUp(EnumKeyboardKey key) { WindowsAPI.keybd_event(key, WindowsAPI.MapVirtualKey(key, 0), 2U, 0U); }
public static extern void keybd_event(EnumKeyboardKey bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
public KeyboardAction() : base(EnumVirtualDeviceActionType.KeyPress) { this.m_keyboardKey = EnumKeyboardKey.Z; }
public KeyboardAction(EnumVirtualDeviceActionType action_type, EnumKeyboardKey keyboardKey) : base(action_type) { this.m_keyboardKey = keyboardKey; }
public static void KeyDown(EnumKeyboardKey key) { WindowsAPI.keybd_event(key, WindowsAPI.MapVirtualKey(key, 0), 0u, 0u); }
public static VirtualDeviceAction CreateAction(EnumVirtualDeviceActionType action_type, EnumKeyboardKey keyboardKey) { if (action_type == EnumVirtualDeviceActionType.KeyDown || action_type == EnumVirtualDeviceActionType.KeyUp || action_type == EnumVirtualDeviceActionType.KeyPress) { return((VirtualDeviceAction) new KeyboardAction(action_type, keyboardKey)); } throw new VirtualDeviceLibException("不匹配的动作类型CreateAction(action_type:" + (object)action_type + ", keyboardKey:" + (object)keyboardKey + ")"); }