Ejemplo n.º 1
0
        private bool SendVKeyNative64(uint keyStroke, KeySet keyset)
        {
            var input = new NativeMethods.INPUT64();

            input.Type       = InputType.Keyboard;
            input.Flags      = keyStroke | keyset.Flag;
            input.VirtualKey = keyset.VirtualKey;
            // input.ScanCode = (ushort)(NativeMethods.MapVirtualKey3((uint)keyset.VirtualKey, NativeMethods.MAPVK_VK_TO_VSC, _keyboardLayout) & 0xFFU);
            input.ScanCode  = 0;
            input.Time      = 0;
            input.ExtraInfo = NativeMethods.GetMessageExtraInfo();
            NativeMethods.INPUT64[] inputs = { input };
            if (NativeMethods.SendInput64(1, inputs, Marshal.SizeOf(typeof(NativeMethods.INPUT64))) != 1)
            {
                return(false);
            }

            return(true);
        }
        private void bufferKey64bit(byte virtualKeyCode, ushort scanCode, KeyEvent keyEvent)
        {
            NativeMethods.INPUT64 input = new NativeMethods.INPUT64();
            input.type = NativeMethods.INPUT_KEYBOARD;
            input.ki.wVk = (byte)virtualKeyCode;
            input.ki.wScan = scanCode;

            if (keyEvent == KeyEvent.KeyUp)
                input.ki.dwFlags = NativeMethods.KEYEVENTF_KEYUP;

            _keyboardInputs64.Add(input);
        }