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

在C#WinForm应用程序当中,不去动鼠标,让代码去控制鼠标移动。当然是在我们开发的那个应用程序界面上。请详细给出代码,注意注释,谢谢!... 在C# WinForm应用程序当中,不去动鼠标,让代码去控制鼠标移动。当然是在我们开发的那个应用程序界面上。请详细给出代码,注意注释,谢谢! 展开
 我来答
匿名用户
推荐于2017-11-25
展开全部
在代码中加入以下外部函数声明:

[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,一共四句哦!

希望能帮到你,祝你成功!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式