using System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; namespace test { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //获取双击间隔时间 [DllImport("user32.dll", EntryPoint = "GetDoubleClickTime")] public extern static int GetDoubleClickTime(); //获取鼠标键数目 public const int SM_CMOUSEBUTTONS = 43;//定义一个常量值 [DllImport("user32",EntryPoint="GetSystemMetrics")] public extern static int GetSystemMetrics(int intcoutn); private void Form1_Load(object sender, EventArgs e) { //设置定时器 this.timer1.Enabled = true; this.timer1.Interval = 1000; this.label1.Text ="鼠标双击间隔时间是:"+GetDoubleClickTime() + "ms"; this.label2.Text = "鼠标键数是:" + GetSystemMetrics(SM_CMOUSEBUTTONS) + "个"; } private void Form1_MouseMove(object sender, MouseEventArgs e) { //this.label3.Text = e.X.ToString(); //this.label4.Text = e.Y.ToString(); } //定时获取光标位置 [DllImport("user32.dll")] private static extern bool GetCursorPos(out Point lpPoint); //定时设置光标位置 [DllImport("user32")] static extern bool SetCursorPos(int X, int Y); //发送鼠标消息 [DllImport("user32.dll")] //引入API函数mouse_event private 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;//表示鼠标左键松开 private void timer1_Tick(object sender, EventArgs e) { Point ShowPoint = new Point(); GetCursorPos(out ShowPoint); this.label3.Text = ShowPoint.X.ToString(); this.label4.Text = ShowPoint.Y.ToString(); //设置鼠标位置 SetCursorPos(509,53); //发送左键按下消息 mouse_event(MOUSEEVENTF_LEFTDOWN, 509, 53, 0, 0); //发送字符 SendKeys.Send("a"); } } }