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);//抬起
         }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM