欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > c#模拟鼠标点击左键

c#模拟鼠标点击左键

2025/2/20 12:11:14 来源:https://blog.csdn.net/u011511086/article/details/145665630  浏览:    关键词:c#模拟鼠标点击左键

c#模拟鼠标点击左键,这里调用的是windows系统函数,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;namespace WindowsFormsAppHalconJiaJuObjectDetection
{/// <summary>/// 模拟鼠标点击/// </summary>public class MyMouseClick{// 定义鼠标事件标志枚举[Flags]public enum MouseEventFlags : uint{Move = 0x0001,LeftDown = 0x0002,LeftUp = 0x0004,RightDown = 0x0008,RightUp = 0x0010,MiddleDown = 0x0020,MiddleUp = 0x0040,XDown = 0x0080,XUp = 0x0100,Wheel = 0x0800,VirtualDesk = 0x4000,Absolute = 0x8000}/// <summary>/// 移动鼠标到一个坐标/// </summary>/// <param name="X"></param>/// <param name="Y"></param>/// <returns></returns>        [DllImport("user32.dll")]public static extern bool SetCursorPos(int X, int Y);// 导入user32.dll中的mouse_event函数[DllImport("user32.dll")]public static extern void mouse_event(MouseEventFlags flags, int dx, int dy, uint data, UIntPtr extraInfo);//获取当前鼠标坐标, 导入user32.dll中的GetCursorPos函数[DllImport("user32.dll")][return: MarshalAs(UnmanagedType.Bool)]public static extern bool GetCursorPos(out POINT lpPoint);// 定义POINT结构体[StructLayout(LayoutKind.Sequential)]public struct POINT{public int X;public int Y;}/// <summary>/// 点击鼠标左键/// </summary>/// <param name="x">坐标x</param>/// <param name="y">坐标y</param>public static void MouseLeftClick(int x,int y) {//移动鼠标到一个坐标SetCursorPos(x,y);//鼠标左键按下mouse_event(MouseEventFlags.LeftDown, 0, 0, 0, UIntPtr.Zero);//左键释放mouse_event(MouseEventFlags.LeftUp, 0, 0, 0, UIntPtr.Zero);             }/// <summary>/// 双击鼠标左键/// </summary>/// <param name="x"></param>/// <param name="y"></param>public static void MouseDoubleLeftClick(int x, int y){MouseLeftClick(x,y);MouseLeftClick(x, y);}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词