110,532
社区成员
发帖
与我相关
我的任务
分享
[DllImport("user32.dll")]
static extern bool ClientToScreen(IntPtr hWnd, ref Point pt);
private void button1_Click(object sender, EventArgs e)
{
//Rectangle rect = new Rectangle();
//GetWindowRect(this.Handle, ref rect);
//Cursor.Position = new Point(50 + rect.X, 50 + rect.Y);
Point pt = new Point(50, 50);
ClientToScreen(this.Handle, ref pt);
Cursor.Position = pt;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll")]
static extern bool GetWindowRect(IntPtr hWnd, ref Rectangle rect);
[DllImport("user32.dll")]
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; //标示是否采用绝对坐标
private void button1_Click(object sender, EventArgs e)
{
Rectangle rect = new Rectangle();
GetWindowRect(this.Handle, ref rect);
Cursor.Position = new Point(50 + rect.X, 50 + rect.Y);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
label1.Text = string.Format("{0}-{1}", e.X, e.Y);
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
label2.Text = string.Format("{0}-{1}", e.X, e.Y);
}
}