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);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间序列分析(四)——差分运算、延迟算子、AR(p)模型

此前篇章&#xff1a; 时间序列分析&#xff08;一&#xff09;——基础概念篇 时间序列分析&#xff08;二&#xff09;——平稳性检验 时间序列分析&#xff08;三&#xff09;——白噪声检验 一、差分运算 差分运算的定义&#xff1a;差分运算是一种将非平稳时间序列转换…

信息收集-Web应用JS架构URL提取数据匹配Fuzz接口WebPack分析自动化

知识点&#xff1a; 1、信息收集-Web应用-JS提取分析-人工&插件&项目 2、信息收集-Web应用-JS提取分析-URL&配置&逻辑 FUZZ测试 ffuf https://github.com/ffuf/ffuf 匹配插件 Hae https://github.com/gh0stkey/HaE JS提取 JSFinder https://github.com/Threez…

DevOps工具链概述

1. DevOps工具链概述 1.1 DevOps工具链的定义 DevOps工具链是支持DevOps实践的一系列工具的集合&#xff0c;这些工具覆盖了软件开发的整个生命周期&#xff0c;包括需求管理、开发、测试、部署和运维等各个环节。它旨在通过工具的集成和自动化&#xff0c;打破开发与运维之间…

SQL Server 导入Excel数据

1、选中指定要导入到哪个数据库&#xff0c;右键选择 》任务 》导入数据 2、数据源 选择Excel&#xff0c;点击 下一步(Next) 3、目前 选择OLE DB Provider &#xff0c;点击 下一步&#xff08;Next&#xff09; 4、默认 &#xff0c;点击 下一步&#xff08;Next&#xff09;…

卓越设计彰显品质:福特中国“烈马宇宙”项目展示高质量标准

2024年8月27日&#xff0c;中国上海      今日&#xff0c;由福特中国设计中心与中央美术学院设计学院联合举办的“烈马宇宙 INTO THE BRONCO-VERSE”校企合作项目顺利完成结业评审并圆满落幕。三名来自中央美术学院出行创新设计方向的学生&#xff0c;在福特中国设计中心进…

基于deepseek api和openweather 天气API实现Function Calling技术讲解

以下是一个结合DeepSeek API和OpenWeather API的完整Function Calling示例&#xff0c;包含意图识别、API调用和结果整合&#xff1a; import requests import json import os# 配置API密钥&#xff08;从环境变量获取&#xff09; DEEPSEEK_API_KEY os.getenv("DEEPSEE…

【Qt学习】| QString与QByteArray的长度

1.用于计算长度的方法 1.1 QString int QString::length() const; int QString::size() const; int QString::count() const;1.2 QByteArray int QByteArray::length() const; int QByteArray::size() const; int QByteArray::count() const;三种方法没有区别&#xff0c;都…

(萌新入门)如何从起步阶段开始学习STM32 ——2 我应该学习HAL库还是寄存器库?

概念 笔者下面需要介绍的是库寄存器和HAL库两个重要的概念&#xff0c;在各位看完之后&#xff0c;需要决定自己的学习路线到底是学习HAL呢&#xff1f;还是寄存器呢&#xff1f;还是两者都学习呢&#xff1f; 库寄存器 库寄存器就是简单的封装了我们对寄存器的操作&#xf…

【系列专栏】银行IT的云原生架构-存储架构-数据库部署 10

银行 IT 的云原生架构&#xff1a;存储架构&#xff08;数据库部署&#xff09; 一、引言 在银行 IT 云原生架构的构建中&#xff0c;存储架构作为关键支撑&#xff0c;其性能、可靠性和扩展性直接影响着银行各类业务系统的运行效率与数据安全。而数据库作为数据存储与管理的…

我的新书《青少年Python趣学编程(微课视频版)》出版了!

&#x1f389; 激动人心的时刻来临啦&#xff01; &#x1f389; 小伙伴们久等了&#xff0c;我的第一本新书 《青少年Python趣学编程&#xff08;微课视频版&#xff09;》 正式出版啦&#xff01; &#x1f4da;✨ 在这个AI时代&#xff0c;市面上的Python书籍常常过于枯燥&…

大模型应用开发书籍推荐

在AI原生应用的探索之路上&#xff0c;大语言模型与提示工程面临着诸多挑战。一方面&#xff0c;过度乐观的预期让开发者陷入困境&#xff1b;另一方面&#xff0c;大语言模型在效果、性能等方面的局限也限制了其应用。本书作者作为一线从业者&#xff0c;深感驾驭大模型的重要…

基于CANopen协议的同步控制和PDO消息传输

这个VI示例展示了如何通过SYNC帧触发发送和接收PDO&#xff08;Process Data Object&#xff09;消息。它涉及的步骤包括配置CANopen接口、设定通信参数、并通过SYNC信号同步多个设备的消息传输。下面是详细说明&#xff1a; ​ 1. 右键点击BatchSDO选择部署 在NI CANopen for…

vtkCamera类的Dolly函数作用及相机拉近拉远

录 1. 预备知识 1.1.相机焦点 2. vtkCamera类的Dolly函数作用 3. 附加说明 1. 预备知识 要理解vtkCamera类的Dolly函数作用,就必须先了解vtkCamera类表示的相机的各种属性。  VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如…

领域驱动设计(DDD)是什么?——从理论到实践的全方位解析

文章目录 一、 引言二、 核心概念与定位2.1 DDD 定义与核心理念2.2 DDD 关键元素 三、 底层原理与技术细节3.1 领域模型与普适语言3.1.1 领域模型3.1.2 普适语言&#xff08;Ubiquitous Language&#xff09; 3.2 战术设计模式详解3.2.1 实体、值对象、聚合与领域服务3.2.2 无状…

领域驱动设计叕创新,平安保险申请DDD专利

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 见下图&#xff1a; 这个名字拼得妙&#xff1a;领域驱动设计模式。 是领域驱动设计&#xff1f;还是设计模式&#xff1f;还是领域驱动设计设计模式&#xff1f;和下面这个知乎文章的…

2025冠珠瓷砖全国开门红启动大会顺利召开

新年伊始&#xff0c;战鼓催征&#xff01;2月11日上午&#xff0c;“开年焕新 家倍幸运”为主题的2025冠珠瓷砖全国开门红启动大会在品牌总部会议室成功举行。新明珠集团副总经理、冠珠瓷砖品牌总经理潘瀚&#xff0c;冠珠瓷砖品牌副总经理曾小泉等领导&#xff0c;以及冠珠瓷…

量化交易入门指南

量化交易入门指南&#xff1a;从零开始掌握数据驱动的投资艺术 引言 在金融市场的浩瀚海洋中&#xff0c;量化交易如同一艘装备精良的船只&#xff0c;凭借数学模型和算法&#xff0c;帮助投资者在波涛汹涌的市场中稳健前行。本文将带你走进量化交易的世界&#xff0c;从基础…

基于Qt 和微信小程序的用户管理系统:WebSocket + SQLite 实现注册与登录

目录 一. 概要 二. 技术栈 三. 系统功能设计 3.1 功能模块 3.2 数据表设计 四. 具体实现 4.1 Qt 服务端 4.1.1 初始化 WebSocket 服务器 4.1.2 用户管理界面 4.2 微信小程序端 4.2.1 注册功能 4.2.2 登录功能 五. 运行效果 六. 源码下载 一. 概要 在物联网和智能设备…

C++17中`std::map`和`std::set`的`extract`与`merge`操作

文章目录 1. extract操作使用方法内部机制 2. merge操作使用方法特点 3. 性能优势4. 实际应用场景5. 总结 在C17标准中&#xff0c; std::map和 std::set这两个关联容器引入了两个极具实用价值的新特性&#xff1a; extract和 merge。这两个操作极大地增强了关联容器在处理…

当时只道是寻常

晴&#xff0c;2025年2月16日 卸载了油管、脸书和 X 手机 app &#xff0c;太浪费我时间&#xff0c;以后再去经营吧。 教学技能大赛材料需要在明天之内搞定——《教学实施方案》。感觉玄&#xff0c;同部门有经验的老师说至少花一周时间。 只能明天早点继续接着弄&#xff…