Esempio n. 1
0
 private void scroll(Int32 x)
 {
     for (var i = 0; i != x; i += (x < 0 ? -1 : 1))
     {
         var input = new WinUser.INPUT {
             type = WinUser.INPUT_MOUSE,
             data = new WinUser.MOUSEKEYBDHARDWAREINPUT {
                 mi = new WinUser.MOUSEINPUT {
                     dwFlags   = WinUser.MOUSEEVENTF_WHEEL,
                     mouseData = (x < 0 ? -120 : 120)
                 }
             }
         };
         this.sendInput(input);
     }
 }
Esempio n. 2
0
        /*
         * private void type() {
         *      var input = new WinUser.INPUT {
         *              type = WinUser.INPUT_KEYBOARD,
         *              data = new WinUser.MOUSEKEYBDHARDWAREINPUT {
         *                      ki = new WinUser.KEYBDINPUT()
         *              }
         *      };
         *      input.data.ki.wVk = 0x41;
         *      this.sendInput(input);
         *      input.data.ki.dwFlags = WinUser.KEYEVENTF_KEYUP;
         *      this.sendInput(input);
         *      input.data.ki.dwFlags = 0;
         *      input.data.ki.wVk = 0x42;
         *      this.sendInput(input, 1000);
         *      input.data.ki.dwFlags = WinUser.KEYEVENTF_KEYUP;
         *      this.sendInput(input);
         * }
         */

        private void click(Int32 x, Int32 y)
        {
            var bounds = Screen.PrimaryScreen.Bounds;

            x = x * 65535 / bounds.Width;
            y = y * 65535 / bounds.Height;
            var input = new WinUser.INPUT {
                type = WinUser.INPUT_MOUSE,
                data = new WinUser.MOUSEKEYBDHARDWAREINPUT {
                    mi = new WinUser.MOUSEINPUT {
                        dx      = x,
                        dy      = y,
                        dwFlags = WinUser.MOUSEEVENTF_ABSOLUTE | WinUser.MOUSEEVENTF_MOVE
                    }
                }
            };

            this.sendInput(input);
            input.data.mi.dwFlags = WinUser.MOUSEEVENTF_LEFTDOWN;
            this.sendInput(input);
            input.data.mi.dwFlags = WinUser.MOUSEEVENTF_LEFTUP;
            this.sendInput(input);
        }
Esempio n. 3
0
        private void drag(Int32 fromX, Int32 fromY, Int32 toX, Int32 toY, Double speed)
        {
            var bounds = Screen.PrimaryScreen.Bounds;

            fromX *= 65535 / bounds.Width;
            fromY *= 65535 / bounds.Height;
            toX   *= 65535 / bounds.Width;
            toY   *= 65535 / bounds.Height;
            speed  = speed > 1 ? 1 : speed;
            speed  = speed < 0.001 ? 0.001 : speed;
            var stepX = (toX - fromX) * speed;
            var stepY = (toY - fromY) * speed;
            var input = new WinUser.INPUT {
                type = WinUser.INPUT_MOUSE,
                data = new WinUser.MOUSEKEYBDHARDWAREINPUT {
                    mi = new WinUser.MOUSEINPUT {
                        dx      = fromX,
                        dy      = fromY,
                        dwFlags = WinUser.MOUSEEVENTF_ABSOLUTE | WinUser.MOUSEEVENTF_MOVE
                    }
                }
            };

            this.sendInput(input);
            input.data.mi.dwFlags = WinUser.MOUSEEVENTF_LEFTDOWN;
            this.sendInput(input);
            input.data.mi.dwFlags = WinUser.MOUSEEVENTF_ABSOLUTE | WinUser.MOUSEEVENTF_MOVE;
            for (var i = 1; i <= 1 / speed; i += 1)
            {
                input.data.mi.dx = Convert.ToInt32(fromX + (stepX * i));
                input.data.mi.dy = Convert.ToInt32(fromY + (stepY * i));
                this.sendInput(input);
            }
            input.data.mi.dwFlags = WinUser.MOUSEEVENTF_LEFTUP;
            this.sendInput(input);
        }
Esempio n. 4
0
 private void sendInput(WinUser.INPUT input, Int32 delay = 50)
 {
     System.Threading.Thread.Sleep(delay);
     WinUser.SendInput(1, new [] { input }, Marshal.SizeOf(typeof(WinUser.INPUT)));
 }