Esempio n. 1
0
        public bool MouseRelative(int moveHorizontal, int moveVertical, int scrollHorizontal, int scrollVertical, MouseButtons mouseButton)
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_RELATIVE_MOUSE_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_RELATIVE_MOUSE_REPORT structInput = new FAKERINPUT_RELATIVE_MOUSE_REPORT();
                structInput.ReportID       = (byte)FAKERINPUT_REPORT_ID.REPORTID_RELATIVE_MOUSE;
                structInput.XValue         = (short)moveHorizontal;
                structInput.YValue         = (short)moveVertical;
                structInput.VWheelPosition = (byte)scrollVertical;
                structInput.HWheelPosition = (byte)scrollHorizontal;
                structInput.Button         = (byte)mouseButton;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to set relative mouse input.");
                return(false);
            }
        }
Esempio n. 2
0
        public bool MouseAbsolute(int moveHorizontal, int moveVertical, int scrollHorizontal, int scrollVertical, MouseButtons mouseButton)
        {
            try
            {
                Screen screen   = Screen.FromPoint(Cursor.Position);
                double maxValue = 32767.5;

                double targetWidth = (double)moveHorizontal / screen.Bounds.Width;
                targetWidth *= maxValue;
                if (targetWidth > maxValue)
                {
                    targetWidth = maxValue;
                }

                double targetHeight = (double)moveVertical / screen.Bounds.Height;
                targetHeight *= maxValue;
                if (targetHeight > maxValue)
                {
                    targetHeight = maxValue;
                }

                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_ABSOLUTE_MOUSE_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_ABSOLUTE_MOUSE_REPORT structInput = new FAKERINPUT_ABSOLUTE_MOUSE_REPORT();
                structInput.ReportID       = (byte)FAKERINPUT_REPORT_ID.REPORTID_ABSOLUTE_MOUSE;
                structInput.XValue         = (ushort)targetWidth;
                structInput.YValue         = (ushort)targetHeight;
                structInput.VWheelPosition = (byte)scrollVertical;
                structInput.HWheelPosition = (byte)scrollHorizontal;
                structInput.Button         = (byte)mouseButton;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to set absolute mouse input.");
                return(false);
            }
        }
Esempio n. 3
0
        public bool MouseResetRelative()
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_RELATIVE_MOUSE_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_RELATIVE_MOUSE_REPORT structInput = new FAKERINPUT_RELATIVE_MOUSE_REPORT();
                structInput.ReportID = (byte)FAKERINPUT_REPORT_ID.REPORTID_RELATIVE_MOUSE;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to reset relative mouse input.");
                return(false);
            }
        }
Esempio n. 4
0
        public bool KeyboardReset()
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_KEYBOARD_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_KEYBOARD_REPORT structInput = new FAKERINPUT_KEYBOARD_REPORT();
                structInput.ReportID = (byte)FAKERINPUT_REPORT_ID.REPORTID_KEYBOARD;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to reset keyboard input.");
                return(false);
            }
        }
        private bool MultimediaReset()
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_MULTIMEDIA_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_MULTIMEDIA_REPORT structInput = new FAKERINPUT_MULTIMEDIA_REPORT();
                structInput.ReportID = (byte)FAKERINPUT_REPORT_ID.REPORTID_MULTIMEDIA;
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to reset multimedia input.");
                return(false);
            }
        }
Esempio n. 6
0
        public bool KeyboardPress(KeyboardModifiers keyModifier0, KeyboardModifiers keyModifier1, KeyboardKeys key0, KeyboardKeys key1, KeyboardKeys key2, KeyboardKeys key3, KeyboardKeys key4, KeyboardKeys key5)
        {
            try
            {
                FAKERINPUT_CONTROL_REPORT_HEADER structHeader = new FAKERINPUT_CONTROL_REPORT_HEADER();
                structHeader.ReportID     = (byte)FAKERINPUT_REPORT_ID.REPORTID_CONTROL;
                structHeader.ReportLength = (byte)Marshal.SizeOf(typeof(FAKERINPUT_KEYBOARD_REPORT));
                byte[] headerArray = ConvertToByteArray(structHeader);

                FAKERINPUT_KEYBOARD_REPORT structInput = new FAKERINPUT_KEYBOARD_REPORT();
                structInput.ReportID      = (byte)FAKERINPUT_REPORT_ID.REPORTID_KEYBOARD;
                structInput.ModifierCodes = (byte)(keyModifier0 | keyModifier1);
                structInput.KeyCodes      = new byte[] { (byte)key0, (byte)key1, (byte)key2, (byte)key3, (byte)key4, (byte)key5 };
                byte[] inputArray = ConvertToByteArray(structInput);

                return(WriteBytesFile(MergeHeaderInputByteArray(CONTROL_REPORT_SIZE, headerArray, inputArray)));
            }
            catch
            {
                Debug.WriteLine("Failed to press keyboard key.");
                return(false);
            }
        }