需要做一个类似按键精灵的软件,通过后台数据进行控制鼠标对桌面上的图标进行自动点击控制。目前只是打通了鼠标的操作,还需要将程序做成可以后台运行及自动隐藏到右下角。先将鼠标移动和点击的方法记录下来以备以后的使用。。
1、引入鼠标的操作。
//-----------------------
[System.Runtime.InteropServices.DllImport("user32")]
public static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
//移动鼠标
public const int MOUSEEVENTF_MOVE = 0x0001;
//模拟鼠标左键按下
public const int MOUSEEVENTF_LEFTDOWN = 0x0002;
//模拟鼠标左键抬起
public const int MOUSEEVENTF_LEFTUP = 0x0004;
//模拟鼠标右键按下
public const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
//模拟鼠标右键抬起
public const int MOUSEEVENTF_RIGHTUP = 0x0010;
//模拟鼠标中键按下
public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
//模拟鼠标中键抬起
public const int MOUSEEVENTF_MIDDLEUP = 0x0040;
//标示是否采用绝对坐标
public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
[DllImport("user32.dll")]
public static extern bool SetCursorPos(int X, int Y);
//-----------------------
2、调用鼠标操作
这里列举2个,一个是鼠标的移动和鼠标的双击。
SetCursorPos(118,342);//移动鼠标的X Y轴
mouse_event(MOUSEEVENTF_RIGHTDOWN| MOUSEEVENTF_RIGHTDOWN, 118,342, 0, 0);//模拟鼠标的移动并双击
最后,如何获取鼠标的坐标,这里也给一下思路和代码吧。
首先设置一个定时器timer1_Tick,将鼠标的坐标记录下来并且显示。
Point mousePosition = Control.MousePosition;
richTextBox1.Text = string.Format("X:{0} Y:{1}", mousePosition.X, mousePosition.Y);
然后记得启用这个定时器:
timer1.Interval = 100;
timer1.Start();
OK,以上就是最简单的模拟鼠标操作的程序。当然要想深入点可以自行再研究。例如:先通过快捷方式回到桌面,在点击桌面的图片;也可以加个图标比对看看获取的图标是否符合再运行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。