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);
相关推荐
进阶的架构师1 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
易辰君3 分钟前
python爬虫 - 深入requests模块
开发语言·爬虫·python
木子020410 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
无夜_10 分钟前
Prototype(原型模式)
开发语言·c++
看到请催我学习11 分钟前
内存缓存和硬盘缓存
开发语言·前端·javascript·vue.js·缓存·ecmascript
weixin_4640780719 分钟前
wpf加载带材料的3D模型(下载的3D预览一样有纹理)
c#·wpf
笃励1 小时前
Java面试题二
java·开发语言·python
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
赛男丨木子丿小喵1 小时前
Gridview配置数据源--信任服务器证书
c#
FL16238631291 小时前
[C#]C# winform部署yolov11-pose姿态估计onnx模型
开发语言·yolo·c#