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);
相关推荐
mudtools20 分钟前
.NET驾驭Word之力:玩转文本与格式
c#·.net
唐青枫4 小时前
C#.NET 数据库开发提速秘籍:SqlSugar 实战详解
c#·.net
mudtools20 小时前
.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
c#·.net
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
echoarts1 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix1 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
大飞pkz1 天前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
每天回答3个问题1 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说1 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
三佛科技-187366133971 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设