使用C#在Windows 7中模拟鼠标单击和鼠标移动

Nik*_*kil 1 .net c# winforms

我已经编写了一段代码来模拟鼠标点击,这在我的Vista中运行良好.但是当我在Windows 7中测试它时,它没有生成click事件.有人可以帮忙吗?我正在添加下面的代码段.谢谢,Nikil

[DllImport("user32.dll")]
        static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);


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

System.Windows.Forms.Cursor.Hide();
System.Windows.Forms.Cursor.Position = new System.Drawing.Point(xinc + rct.Left, yinc + rct.Top);

int X = System.Windows.Forms.Cursor.Position.X;
int y = System.Windows.Forms.Cursor.Position.Y;

mouse_event((int)(MouseEventFlags.LEFTDOWN), 0, 0, 0, 0);
mouse_event((int)(MouseEventFlags.LEFTUP), 0, 0, 0, 0);


System.Windows.Forms.Cursor.Position = new System.Drawing.Point(0, 0);
System.Windows.Forms.Cursor.Show();
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 9

我的水晶球说你不只是升级到Win7,你也得到了64位版本.以前你有32位版本的Vista.你的mouse_event()声明是错误的.最后一个参数是IntPtr,而不是int.

球是怎么做到的?