Example #1
0
 private void MouseHook_HookActivated(Point point, MouseFlag flag)
 {
     if (validFlags.Contains(flag))
     {
         MouseDown?.Invoke((int)flag);
     }
 }
Example #2
0
        private int HookProcedureCallback(int code, IntPtr wParam, IntPtr lParam)
        {
            if (code >= 0)
            {
                MouseFlag      flag        = (MouseFlag)wParam;
                MSLLHOOKSTRUCT mouseStruct = Marshal.PtrToStructure <MSLLHOOKSTRUCT>(lParam);

                HookActivated?.Invoke(mouseStruct.point, flag);
            }
            return(CallNextHookEx(hookId, code, wParam, lParam));
        }
Example #3
0
 /// <summary>
 /// Inject a mouse event into the event loop, as if the user performed
 /// it with his mouse.
 /// </summary>
 public static void InjectMouseEvent(MouseFlag flags, DoublePoint pt, Int32 data, int extraInfo)
 {
     if (MouseAbsolutePos)
     {
         mouse_event((uint)(flags | MouseFlag.Absolute), (uint)pt.X, (uint)pt.Y, data, (UIntPtr)extraInfo);
     }
     else
     {
         mouse_event((uint)flags, (uint)pt.X, (uint)pt.Y, data, (UIntPtr)extraInfo);
     }
 }
        public static void MouseInput(MouseButton button, bool buttonPressedState)
        {
            INPUT[] InputData = new INPUT[1];

            InputData[0].type = (int)InputType.Mouse;
            //InputData[0].mi.wScan = 0;
            MouseFlag mouseFlag = buttonPressedState ? ToMouseButtonDownFlag(button) : ToMouseButtonUpFlag(button);
            InputData[0].mi.dwFlags = (int)mouseFlag;
            //InputData[0].mi.time = 0;
            //InputData[0].mi.dwExtraInfo = IntPtr.Zero;

            SendInput(1, InputData, Marshal.SizeOf(typeof(INPUT)));
        }
Example #5
0
            private static void FireEvent(MouseFlag flag, int data)
            {
                var inputEvent = new Input();

                inputEvent.Type             = 0;
                inputEvent.Data.Mouse       = new MOUSEINPUT();
                inputEvent.Data.Mouse.Flags = (uint)flag;
                //inputEvent.Data.Mouse.MouseData = (uint)data;
                inputEvent.Data.Mouse.ExtraInfo = IntPtr.Zero;

                Input[] inputList = new Input[1];
                inputList[0] = inputEvent;

                var numberOfSuccessfulSimulatedInputs = SendInput(1, inputList, Marshal.SizeOf(typeof(Input)));

                if (numberOfSuccessfulSimulatedInputs == 0)
                {
                    throw new Exception("The click simulation was not successful.");
                }
            }
Example #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            #region 1.获取到微信窗口,最大化,前置
            IntPtr weChatForm = WindowFormAPI.FindWindow("WeChatMainWndForPC", null);
            //注意,最大化,要在设置前置之前
            WindowFormAPI.ShowWindow(weChatForm, 3);
            WindowFormAPI.SetForegroundWindow(weChatForm);
            #endregion

            #region 2.点击搜索栏,粘贴搜索内容,点击最新的一条结果
            MouseFlag.MouseLefClickEvent(150, 35, 0);
            SetClipBordText(this.richTextBox1.Text);
            ControlKeyBoardClick(Keys.V);
            MouseFlag.MouseLefClickEvent(150, 100, 0);
            #endregion

            #region 3.点击内容框,ctrl+v,回车发送
            WindowFormAPI.ClickByLocation(700, 800);
            SetClipBordText("您的报价是,总计1000元!");
            ControlKeyBoardClick(Keys.V);
            WindowFormAPI.PostMessage(Keys.Enter, 0, 0, 0);
            WindowFormAPI.PostMessage(Keys.Enter, 0, WindowFormAPI.KEYEVENTF_KEYUP, 0);
            #endregion
        }
Example #7
0
 public static extern void MouseEvent(MouseFlag dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo);
Example #8
0
 static extern void mouse_event(MouseFlag flags, int dx, int dy, uint data, UIntPtr extra);
Example #9
0
 /// <summary>
 /// Inject a mouse event into the event loop, as if the user performed
 /// it with his mouse.
 /// </summary>
 public static void InjectMouseEvent(MouseFlag flags, DoublePoint pt, Int32 data, int extraInfo)
 {
     if(MouseAbsolutePos)
         mouse_event((uint)(flags | MouseFlag.Absolute), (uint)pt.X, (uint)pt.Y, data, (UIntPtr)extraInfo);
     else
         mouse_event((uint)flags, (uint)pt.X, (uint)pt.Y, data, (UIntPtr)extraInfo);
 }
Example #10
0
        /// <summary>
        /// Calls the Win32 SendInput method with a ClickDown and ClickUp message in the same input sequence in order to simulate a Key PRESS.
        /// </summary>
        /// <param name="clickDown">Click down info</param>
        /// <param name="clickUp">Click up info</param>
        /// <param name="mouseData">Additional data.</param>
        /// <param name="x">X coordinate.</param>
        /// <param name="y">Y coordinate.</param>
        public static void SimulateClickPress(MouseFlag clickDown, MouseFlag clickUp, int mouseData, int x = 0, int y = 0)
        {
            var down = new Input
                       {
                       	Type = (UInt32) InputType.Mouse,
                       	Data =
                       		{
                       			Mouse = new MouseInput
                       			        {
                       			        	Flags = (uint) clickDown,
                       			        	X = x,
                       			        	Y = y,
                       			        	MouseData = mouseData,
                       			        	Time = 0,
                       			        	ExtraInfo = IntPtr.Zero
                       			        }
                       		}
                       };

            var up = new Input
                     {
                     	Type = (UInt32) InputType.Mouse,
                     	Data =
                     		{
                     			Mouse = new MouseInput
                     			        {
                     			        	Flags = (uint) clickUp,
                     			        	X = x,
                     			        	Y = y,
                     			        	MouseData = mouseData,
                     			        	Time = 0,
                     			        	ExtraInfo = IntPtr.Zero
                     			        }
                     		}
                     };

            Input[] inputList = new Input[2];
            inputList[0] = down;
            inputList[1] = up;

            var numberOfSuccessfulSimulatedInputs = SendInput(2, inputList, Marshal.SizeOf(typeof(Input)));
            if(numberOfSuccessfulSimulatedInputs == 0) throw new Exception(string.Format("The click press simulation for {0} & {1} was not successful.", clickDown, clickUp));
        }
Example #11
0
 /// <summary>
 /// Calls the Win32 SendInput method with a ClickDown and ClickUp message in the same input sequence in order to simulate a Key PRESS.
 /// </summary>
 /// <param name="clickDown">Click down info</param>
 /// <param name="clickUp">Click up info</param>
 /// <param name="x">X coordinate.</param>
 /// <param name="y">Y coordinate.</param>
 public static void SimulateClickPress(MouseFlag clickDown, MouseFlag clickUp, int x, int y)
 {
     SimulateClickPress(clickDown, clickUp, 0, x, y);
 }
Example #12
0
 /// <summary>
 /// Calls the Win32 SendInput method with a ClickDown and ClickUp message in the same input sequence in order to simulate a Key PRESS.
 /// </summary>
 /// <param name="clickDown">Click down info</param>
 /// <param name="clickUp">Click up info</param>
 public static void SimulateClickPress(MouseFlag clickDown, MouseFlag clickUp)
 {
     SimulateClickPress(clickDown, clickUp, 0);
 }
Example #13
0
 /// <summary>
 /// Calls the Win32 SendInput method to simulate a Click.
 /// </summary>
 /// <param name="click">Click info</param>
 /// <param name="x">X coordinate.</param>
 /// <param name="y">Y coordinate.</param>
 public static void SimulateClick(MouseFlag click, int x, int y)
 {
     SimulateClick(click, 0, x, y);
 }
Example #14
0
            private static void FireEvent(MouseFlag flag, int data)
            {
                var inputEvent = new Input();
                inputEvent.Type = 0;
                inputEvent.Data.Mouse = new MOUSEINPUT();
                inputEvent.Data.Mouse.Flags = (uint)flag;
                //inputEvent.Data.Mouse.MouseData = (uint)data;
                inputEvent.Data.Mouse.ExtraInfo = IntPtr.Zero;

                Input[] inputList = new Input[1];
                inputList[0] = inputEvent;

                var numberOfSuccessfulSimulatedInputs = SendInput(1, inputList, Marshal.SizeOf(typeof(Input)));
                if (numberOfSuccessfulSimulatedInputs == 0) throw new Exception("The click simulation was not successful.");
            }
        //------------------------------------------------------------------------------------------

        private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) //串口接收事件
        {
            textBox1.Clear();
            textBox2.Clear();
            string str = " ";

            if (!radioButton3.Checked)
            {
                textBox1.AppendText(serialPort1.ReadExisting()); //串口类会自动处理汉字,所以不需要特别转换
            }
            else
            {
                byte[] data = new byte[serialPort1.BytesToRead]; //定义缓冲区,因为串口事件触发时有可能收到不止一个字节
                serialPort1.Read(data, 0, data.Length);
                foreach (byte Member in data)                    //遍历用法
                {
                    str = Convert.ToString(Member, 16).ToUpper();
                    textBox1.AppendText("0x" + (str.Length == 1 ? "0" + str : str) + " ");
                }
            }


            string control = textBox1.Text;

            if (control.Length >= 8)
            {
                string y_num = control.Substring(0, 3);
                string anim  = control.Substring(3, 1);
                string shoot = control.Substring(4, 1);
                string z_num = control.Substring(5, 3);
                int    Y     = int.Parse(y_num);
                int    Z     = int.Parse(z_num);
                MouseFlag.Move(((Y - 500)) / 2, (Z - 500) / 30, 0);


                if (anim == "A")
                {
                    keybd_event(vbKeyA, 0, 0, 0);
                }

                if (anim == "a")
                {
                    keybd_event(vbKeyA, 0, 2, 0);
                }

                if (anim == "S")
                {
                    keybd_event(vbKeyS, 0, 0, 0);
                }

                if (anim == "s")
                {
                    keybd_event(vbKeyS, 0, 2, 0);
                }


                if (anim == "D")
                {
                    keybd_event(vbKeyD, 0, 0, 0);
                }

                if (anim == "d")
                {
                    keybd_event(vbKeyD, 0, 2, 0);
                }

                if (anim == "W")
                {
                    keybd_event(vbKeyW, 0, 0, 0);
                }
                if (anim == "w")
                {
                    keybd_event(vbKeyW, 0, 2, 0);
                }

                if (shoot == "H")
                {
                    keybd_event(vbKeyH, 0, 0, 0);
                }

                if (shoot == "h")
                {
                    keybd_event(vbKeyH, 0, 2, 0);
                }

                if (anim == "J")
                {
                    keybd_event(vbKeySpace, 0, 0, 0);
                    keybd_event(vbKeySpace, 0, 2, 0);
                }
            }


            textBox1.AppendText(str + '\t');

            var path = "0";

            try
            {
                path = (String)iData.GetData(DataFormats.Text);
            }
            catch (Exception ex)
            {
                Application.DoEvents();
                path = (String)iData.GetData(DataFormats.Text);
            }

            textBox2.AppendText(path);
            num_blue--;
            if (num_blue == 0)
            {
                num_blue = 10;
                blue_send();
            }
        }