public static void SendScanCode(ushort scanCode)
        {
            var ki = new KEYBDINPUT
            {
                wScan   = scanCode,
                dwFlags = KEYEVENTF.SCANCODE,
            };

            SendKeyboardInput(ki);
        }
        static INPUT[] ToInputsForUnicode(char c)
        {
            var ki_down = new KEYBDINPUT
            {
                wScan   = c,
                dwFlags = KEYEVENTF.UNICODE,
            };
            var ki_up = new KEYBDINPUT
            {
                wScan   = c,
                dwFlags = KEYEVENTF.UNICODE | KEYEVENTF.KEYUP,
            };

            return(new[] { ToInput(ki_down), ToInput(ki_up) });
        }
 static void SendKeyboardInput(KEYBDINPUT ki)
 {
     NativeKeyboardMouse.SendInput(new[] { ToInput(ki) });
 }