日期:2009-12-26 浏览次数:20725 次
	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);
	        }
	    }
	}