只为成功找方向,不为失败找借口

每天都不能停止前进的脚步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#调用API:mouse_event 模拟鼠标事件

Posted on 2011-08-05 10:59  冰碟  阅读(2227)  评论(0编辑  收藏  举报

using System.Runtime.InteropServices; 

[DllImport("user32", EntryPoint = "mouse_event")

  private static extern int mouse_event(
    int dwFlags,// 下表中标志之一或它们的组合
    int dx,
    int dy, //指定x,y方向的绝对位置或相对位置
    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; //标示是否采用绝对坐标

使用举例:

  mouse_event(MOUSEEVENTF_LEFTDOWN, 500, 400, 0, 0);

    mouse_event(MOUSEEVENTF_LEFTUP, 500, 400, 0, 0);