示例#1
0
        public override void ExecuteCommand(string userId, string command)
        {
            ClientKeyboardCmd keyboardData = deserialize.Deserialize <ClientKeyboardCmd>(command);

            if (keyboardData == null)
            {
                return;
            }

            InputConstants.KEYBOARDINPUT keyboardInput = new InputConstants.KEYBOARDINPUT();
            keyboardInput.wScan       = keyboardData.data.wScan;
            keyboardInput.wVk         = keyboardData.data.wVk;
            keyboardInput.dwFlags     = keyboardData.data.dwFlags;
            keyboardInput.time        = keyboardData.data.time;
            keyboardInput.dwExtraInfo = IntPtr.Zero;

            // create input object
            InputConstants.INPUT input = new InputConstants.INPUT();
            input.type = InputConstants.KEYBOARD;
            input.ki   = keyboardInput;

            // send input to Windows
            InputConstants.INPUT[] inputArray = new InputConstants.INPUT[] { input };
            uint result = NativeMethods.SendInput(1, inputArray, System.Runtime.InteropServices.Marshal.SizeOf(input));
        }
示例#2
0
        public override void ExecuteCommand(string userId, string command)
        {
            ClientMouseCmd mouseData = deserialize.Deserialize <ClientMouseCmd>(command);

            if (mouseData == null)
            {
                return;
            }

            InputConstants.MOUSEINPUT mouseInput = new InputConstants.MOUSEINPUT();
            mouseInput.dx          = mouseData.data.dx;
            mouseInput.dy          = mouseData.data.dy;
            mouseInput.mouseData   = mouseData.data.mouseData;
            mouseInput.dwFlags     = mouseData.data.dwFlags;
            mouseInput.time        = mouseData.data.time;
            mouseInput.dwExtraInfo = UIntPtr.Zero;

            // create input object
            InputConstants.INPUT input = new InputConstants.INPUT();
            input.type = InputConstants.MOUSE;
            input.mkhi = new InputConstants.MouseKeyboardHardwareInputUnion()
            {
                mi = mouseInput,
            };

            // send input to Windows
            InputConstants.INPUT[] inputArray = new InputConstants.INPUT[] { input };
            uint result = NativeMethods.SendInput(1, inputArray, System.Runtime.InteropServices.Marshal.SizeOf(input));
        }