C#中怎么用代码去控制鼠标的移动轨迹

在C# WinForm应用程序当中,不去动鼠标,让代码去控制鼠标移动。当然是在我们开发的那个应用程序界面上。请详细给出代码,注意注释,谢谢!

在代码中加入以下外部函数声明:

[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags,int dx,int dy, int cButtons, int dwExtraInfo);
const int MOUSEEVENTF_MOVE = 0x0001;
const int MOUSEEVENTF_LEFTDOWN = 0x0002;
const int MOUSEEVENTF_LEFTUP = 0x0004;
const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
const int MOUSEEVENTF_RIGHTUP = 0x0010;
const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
const int MOUSEEVENTF_MIDDLEUP = 0x0040;
const int MOUSEEVENTF_ABSOLUTE = 0x8000;

然后就可以通过以下代码来实现鼠标移动的控制了:

mouse_event(MOUSEEVENTF_MOVE,x,y,0,0); //x,y是移动到的坐标,这个需要你自己计算哦!

如果你想移动出一条轨迹来,就要把轨迹上每个点的坐标都计算出来,都用上面这条代码来执行一下。
如果要实现单击,就把 MOUSEEVENTF_MOVE 删了,用两条语句,分别 MOUSEEVENTF_LEFTDOWN 和 MOUSEEVENTF_LEFTUP 来模拟鼠标按下和抬起,这就是一个完整的单击。
如果要双击某处,就把单击重复一次,LEFTDOWN LEFTUP 再 LEFTDOWN LEFTUP,一共四句哦!

希望能帮到你,祝你成功!
温馨提示:答案为网友推荐,仅供参考
相似回答