首先添加
using System.Runtime.InteropServices;
//鼠标事件 因为我用的不多,所以其他参数没有写
private readonly intMOUSEEVENTF_LEFTDOWN = 0x0002;//模拟鼠标移动
private readonly intMOUSEEVENTF_MOVE = 0x0001;//模拟鼠标左键按下
private readonly intMOUSEEVENTF_LEFTUP = 0x0004;//模拟鼠标左键抬起
private readonly intMOUSEEVENTF_ABSOLUTE = 0x8000;//鼠标绝对位置
privatereadonlyint MOUSEEVENTF_RIGHTDOWN = 0x0008;//模拟鼠标右键按下
private readonlyintMOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起
private readonlyintMOUSEEVENTF_MIDDLEDOWN = 0x0020; //模拟鼠标中键按下
private readonlyintMOUSEEVENTF_MIDDLEUP = 0x0040;// 模拟鼠标中键抬起
[DllImport("user32")]
public static extern void mouse_event(int dwFlags, int dx, int dy,int dwData, int dwExtraInfo);
private void button2_Click(object sender, EventArgs e)
{
int x = int.Parse(textBox1.Text);
int y = int.Parse(textBox2.Text);
//绝对位置
mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x * 65535 /1600, y * 65535 / 900, 0,0);//移动到需要点击的位置
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE, x * 65535/ 1600, y * 65535 / 900, 0, 0);//点击
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, x * 65535 /1600, y * 65535 / 900, 0, 0);//抬起
//相对位置 指的是相对于当前鼠标的相对位置
mouse_event(MOUSEEVENTF_MOVE , x , y, 0, 0);//移动
mouse_event(MOUSEEVENTF_LEFTDOWN , x , y, 0, 0);//点击
mouse_event(MOUSEEVENTF_LEFTUP , x , y , 0, 0);//抬起
}
在textBox1,textBox2中输入要点击的位置,即可点击。 点击的范围是当前的整个屏幕