zoukankan      html  css  js  c++  java
  • C#用mouse_event模拟鼠标点击的问题

    1、首先添加using System.Runtime.InteropServices;

    2、为鼠标添加模拟点击的各种参数

      //鼠标事件  因为我用的不多,所以其他参数没有写

    1
    2
    3
    4
    5
    6
    7
    8
       private readonly int MOUSEEVENTF_LEFTDOWN = 0x0002;//模拟鼠标移动
       private readonly int MOUSEEVENTF_MOVE = 0x0001;//模拟鼠标左键按下
       private readonly int MOUSEEVENTF_LEFTUP = 0x0004;//模拟鼠标左键抬起
       private readonly int MOUSEEVENTF_ABSOLUTE = 0x8000;//鼠标绝对位置
       private readonlyint MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下 
       private readonlyint MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起 
       private readonlyint MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模拟鼠标中键按下 
       private readonlyint MOUSEEVENTF_MIDDLEUP = 0x0040;// 模拟鼠标中键抬起

    3、为鼠标点击添加点击函数        

    1
    2
    3
    4
    5
    6
    public static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
             private void button2_Click(object sender, EventArgs e)        {            int x = int.Parse(textBox1.Text);            int y = int.Parse(textBox2.Text);
    //绝对位置            mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x * 65535 / 1600, y * 65535 / 900, 0, 0);//移动到需要点击的位置            mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE, x * 65535 / 1600, y * 65535 / 900, 0, 0);//点击            mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, x * 65535 / 1600, y * 65535 / 900, 0, 0);//抬起
    //相对位置  指的是相对于当前鼠标的相对位置
                mouse_event(MOUSEEVENTF_MOVE , x , y, 0, 0);//移动            mouse_event(MOUSEEVENTF_LEFTDOWN , x , y, 0, 0);//点击            mouse_event(MOUSEEVENTF_LEFTUP , x , y , 0, 0);//抬起
            }
  • 相关阅读:
    PHP运行模式
    深入理解php内核 编写扩展_III- 资源
    深入理解php内核 编写扩展 II:参数、数组和ZVALs
    [置顶] 图灵电子与电气工程丛书
    PHP开发-上传文件
    DWZ (JUI) 教程(二):处理信息回馈的通用规范
    设计模式之装饰者模式
    UVA 11464
    uva 1346
    [置顶] 手把手教你iOS消息推送证书生成以及Push消息
  • 原文地址:https://www.cnblogs.com/soundcode/p/11081475.html
Copyright © 2011-2022 走看看