movemouse

using System.Drawing;

 

[Flags]
        private enum MouseEventFlags
        {
            LEFTDOWN = 0x00000002,
            LEFTUP = 0x00000004,
            MIDDLEDOWN = 0x00000020,
            MIDDLEUP = 0x00000040,
            MOVE = 0x00000001,
            ABSOLUTE = 0x00008000,
            RIGHTDOWN = 0x00000008,
            RIGHTUP = 0x00000010
        }

        [Flags]
        private enum Win32Consts
        {
            INPUT_MOUSE = 0,
            INPUT_KEYBOARD = 1,
            INPUT_HARDWARE = 2,
        }

 

 

private struct INPUT
        {
            public int type;
            public MOUSEINPUT mi;
        }

        private struct MOUSEINPUT
        {
            public int dx;
            public int dy;
            public int mouseData;
            public int dwFlags;
            public int time;
            public int dwExtraInfo;
        }

 

private void MoveMouse(Point point)
        {
            var mi = new MOUSEINPUT
                         {
                             dx = point.X,
                             dy = point.Y,
                             mouseData = 0,
                             time = 0,
                             dwFlags = Convert.ToInt32(MouseEventFlags.MOVE),
                             dwExtraInfo = 0
                         };
            var input = new INPUT
                            {
                                mi = mi,
                                type = Convert.ToInt32(Win32Consts.INPUT_MOUSE)
                            };
            SendInput(1, ref input, 28);
        }

posted on 2012-09-12 09:44  武胜-阿伟  阅读(255)  评论(0编辑  收藏  举报