Exemplo n.º 1
0
        /// <summary>
        /// Simulate a keyboard key action (up or down)
        /// </summary>
        /// <param name="Keycode">Hardware ScanCode of the key to simulate</param>
        /// <param name="KeybdInputFlags">State of the key. (0=Down, 1 = Up)</param>
        private void SendKey(HardwareScanCode Keycode, KeybdInputFlags KeybdInputFlags)
        {
            INPUT[] InputData = new INPUT[1];

            InputData[0].type           = InputType.INPUT_KEYBOARD;
            InputData[0].ki.wScan       = Keycode;
            InputData[0].ki.dwFlags     = KeybdInputFlags;
            InputData[0].ki.time        = 0;
            InputData[0].ki.dwExtraInfo = IntPtr.Zero;

            if (Win32API.SendInput(1, InputData, Marshal.SizeOf(typeof(INPUT))) == 0)
            {
                Logger.WriteLog("SendInput API failed : wScan=" + Keycode.ToString() + ", dwFlags=" + KeybdInputFlags.ToString());
                Logger.WriteLog("GetLastError returned : " + Marshal.GetLastWin32Error().ToString());
            }
        }
Exemplo n.º 2
0
 public static extern void keybd_event(VirtualKeyCode bVk, byte bScan, KeybdInputFlags dwFlags, int dwExtraInfo);