C#_模拟鼠标操作

一、class

csharp 复制代码
 class MouseHelper
 {
     [DllImport("user32.dll")]
     public static extern bool SetCursorPos(int X, int Y);
     [System.Runtime.InteropServices.DllImport("user32")]
     public static extern int mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
     //移动鼠标 
     public const int MOUSEEVENTF_MOVE = 0x0001;
     //模拟鼠标左键按下 
     public const int MOUSEEVENTF_LEFTDOWN = 0x0002;
     //模拟鼠标左键抬起 
     public const int MOUSEEVENTF_LEFTUP = 0x0004;
     //模拟鼠标右键按下 
     public const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
     //模拟鼠标右键抬起 
     public const int MOUSEEVENTF_RIGHTUP = 0x0010;
     //模拟鼠标中键按下 
     public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
     //模拟鼠标中键抬起 
     public const int MOUSEEVENTF_MIDDLEUP = 0x0040;
     //标示是否采用绝对坐标 
     public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
     //模拟鼠标滚轮滚动操作,必须配合dwData参数
     public const int MOUSEEVENTF_WHEEL = 0x0800;
     //调用windows的系统锁定
     [DllImport("user32.dll")]
     static extern void BlockInput(bool Block);

 }

二、调用

前台操作,自行加延迟或锁定键盘鼠标。

csharp 复制代码
 //键盘鼠标锁定
 BlockInput(true);
 //移动鼠标到坐标点
 MouseHelper.SetCursorPos(265,230);
 //鼠标左键单击
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 //鼠标左键双击
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 //键盘鼠标解锁
 BlockInput(false);
相关推荐
袁袁袁袁满3 分钟前
Python使用uuid生成唯一密钥uid详细教程
开发语言·python·uuid·唯一密钥uid
Logan Lie3 分钟前
Go 反射(Reflection)详解:从入门到实践
开发语言·后端·golang
爱装代码的小瓶子4 分钟前
【c++进阶】c++11下类的新变化以及Lambda函数和封装器
java·开发语言·c++
m0_7482500310 分钟前
C++ 标准库概述
开发语言·c++
mmdd72410 分钟前
铠侠KIOXIA eMMC实现医疗显示器快速启动
计算机外设·emmc·存储芯片·铠侠
FAFU_kyp10 分钟前
Rust 所有权(Ownership)学习
开发语言·学习·rust
superman超哥17 分钟前
Rust 异步性能的黑盒与透视:Tokio 监控与调优实战
开发语言·后端·rust·编程语言·rust异步性能·rust黑盒与透视·tokio监控与调优
lkbhua莱克瓦2420 分钟前
进阶-存储对象2-存储过程上
java·开发语言·数据库·sql·mysql
ou.cs25 分钟前
WPF TreeView 自动展开所有节点:附加行为(Attached Behavior)保姆级实现教程
c#·.net·wpf
Mr -老鬼28 分钟前
Rust 知识图谱 -进阶部分
开发语言·后端·rust