日期:2009-12-26 浏览次数:20651 次
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace _鼠标按键Mouse_event方法
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//方法签名:
[DllImport("user32.dll", EntryPoint = "mouse_event")]
// 鼠标按键
// dwFlags —— Long,下述标志的一个组合:
// MOUSEEVENTF_MOVE:移动鼠标;
// MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下;
// MOUSEEVENTF_LEFTUP:模拟鼠标左键抬起;
// MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下;
// MOUSEEVENTF_RIGHTUP:模拟鼠标右键按下;
// MOUSEEVENTF_MIDDLEDOWN:模拟鼠标中键按下;
// MOUSEEVENTF_MIDDLEUP:模拟鼠标中键按下。
// dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元;
//dx——Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动;
//dy ——Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动;
//cButtons ——Long,未使用
//dwExtraInfo ——Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序。
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
private static extern int SetCursorPos(int x, int y);
private void Form1_Load(object sender, EventArgs e)
{
int X, Y;
X = 400;
Y = 400;
SetCursorPos(X, Y);
mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}
}
}