当前位置: 首页 > news >正文

GO脚本-模拟鼠标键盘

01GetCoordinate

获取坐标

package mainimport ("github.com/go-vgo/robotgo"
)func main() {// 获取当前鼠标所在的位置x, y := robotgo.GetMousePos()println(`x:`, x, ` y:`, y)}

02GetColor

获取坐标颜色

package mainimport ("fmt""image/color""github.com/kbinani/screenshot"
)func main() {// 定义目标坐标targetX := 100targetY := 200// 获取屏幕边界bounds := screenshot.GetDisplayBounds(0)width := bounds.Dx()height := bounds.Dy()// 捕获屏幕img, err := screenshot.Capture(0, 0, width, height)if err != nil {panic(err)}// 获取目标坐标的颜色c := img.At(targetX, targetY).(color.RGBA)// 打印颜色信息fmt.Printf("坐标(%d, %d)的颜色为 RGB(%d, %d, %d)\n", targetX, targetY, c.R, c.G, c.B)
}

03 操作案例

package mainimport ("fmt""github.com/go-vgo/robotgo""math/rand""time"
)func main() {//两个随机数的代码示例,一个生成3秒至6秒之间的随机数,另一个生成70毫秒至200毫秒之间的随机数:min1 := 3   // 最小休息时间(秒)max1 := 10  // 最大休息时间(秒)min2 := 70  // 最小休息时间(毫秒)max2 := 200 // 最大休息时间(毫秒)rand.Seed(time.Now().UnixNano())// 生成随机的休息时间(秒)sleepTime1 := rand.Intn(max1-min1+1) + min1fmt.Printf("开始休息 %d 秒钟...\n", sleepTime1)time.Sleep(time.Duration(sleepTime1) * time.Second)fmt.Println("第一个休息结束!")// 生成随机的休息时间(毫秒)sleepTime2 := rand.Intn(max2-min2+1) + min2fmt.Printf("开始休息 %d 毫秒...\n", sleepTime2)time.Sleep(time.Duration(sleepTime2) * time.Millisecond)fmt.Println("第二个休息结束!")// 获取当前鼠标所在的位置x, y := robotgo.GetMousePos()println(`x:`, x, ` y:`, y)// 第一个客户端角色 坐标,登入游戏time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.MoveClick(72, 448, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.MoveClick(72, 448, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.KeyTap("space")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)// 第二个客户端角色 坐标,登入游戏time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.MoveClick(868, 434, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.MoveClick(868, 434, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Second)robotgo.KeyTap("space")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)// 第一个客户端角色 坐标,开启同步time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.MoveClick(401, 451, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.KeyTap("space")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.KeyTap("f3", "alt")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)fmt.Println("第一个客户端角色 坐标,开启同步")// 第二个客户端角色 坐标,开启同步time.Sleep(time.Duration(sleepTime1) * time.Millisecond)time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.MoveClick(1219, 458, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.KeyTap("space")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.KeyTap("f3", "alt")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)fmt.Println("第二个客户端角色 坐标,开启同步")// 第一个客户端角色 坐标,开启同步time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.MoveClick(401, 451, `left`, true)time.Sleep(time.Duration(sleepTime1) * time.Millisecond)robotgo.KeyTap("space")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)// 模拟按下endrobotgo.KeyDown("end")// 延迟1秒钟time.Sleep(1 * time.Second)// 松开endrobotgo.KeyUp("end")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)time.Sleep(time.Duration(sleepTime2) * time.Millisecond)// 模拟按下endrobotgo.KeyDown("pagedown")// 延迟9秒钟time.Sleep(9 * time.Second)// 松开endrobotgo.KeyUp("pagedown")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)time.Sleep(time.Duration(sleepTime1) * time.Millisecond)time.Sleep(time.Duration(sleepTime2) * time.Millisecond)robotgo.KeyTap("delete")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)robotgo.KeyTap("delete")time.Sleep(time.Duration(sleepTime2) * time.Millisecond)robotgo.KeyTap("delete")// 模拟按下Delete键robotgo.KeyToggle("delete", "down")// 延迟0.5秒time.Sleep(500 * time.Millisecond)// 松开Delete键robotgo.KeyToggle("delete", "up")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)// 模拟按下end键robotgo.KeyToggle("home", "down")// 延迟0.8秒time.Sleep(800 * time.Millisecond)// 松开end键robotgo.KeyToggle("home", "up")time.Sleep(time.Duration(sleepTime1) * time.Millisecond)//进入副本//robotgo.KeyTap("space")//time.Sleep(time.Duration(sleepTime2) * time.Millisecond)//robotgo.KeyTap("space")//time.Sleep(time.Duration(sleepTime2) * time.Millisecond)
}

相关文章:

GO脚本-模拟鼠标键盘

01GetCoordinate 获取坐标 package mainimport ("github.com/go-vgo/robotgo" )func main() {// 获取当前鼠标所在的位置x, y : robotgo.GetMousePos()println(x:, x, y:, y)}02GetColor 获取坐标颜色 package mainimport ("fmt&quo…...

Ubuntu设置SSH

在Ubuntu上通过SSH服务远程连接其他机器 首先通过以下命令判断是否安装SSH服务: ssh localhost如果出现 ssh: connect to host localhost port 22: Connection refused 则表示还未安装SSH。 通过以下命令安装SSH: sudo apt update sudo apt install…...

创作2周年?浅记一下~

前言: 最近确实有点缺乏去更新博客的动力,一晃两年过去了,其实也是我新入职公司的两年,两年虽然不长,但是确实发生了太多事情值得去记录下来... 机缘 说是机缘也不是算是,第一次写博客是刚好在CSDN里面查资…...

MATLAB算法实战应用案例精讲-【优化算法】光学显微镜算法(OMA)(附MATLAB代码实现)

前言 光学显微镜算法(Optical Microscope Algorithm, OMA)从光学显微镜对目标物体的放大能力中获得灵感,使用肉眼进行初始观察,并通过物镜和目镜模拟放大过程。通过两个实验验证了OMA的性能,该算法具有用户友好且不需要初始化参数的特点:(1)在50个Benchmark函数上,将OMA与…...

常见弯道输送机有哪些

提到弯道输送机您可能首先想到的就是弯道滚筒线,其实除了滚筒线之外,也有一些其他线体可以做弯道,下面就为您总结了4种常见的弯道输送机。 1、弯道皮带线:即线体转弯处设计成皮带输送机,这种形式的转弯设计可以实现不同…...

聚观早报 | 2023社交进入大变革时代;赛力斯发布9月产销快报

【聚观365】10月9日消息 2023社交进入大变革时代 赛力斯发布9月产销快报 Meta Quest 3头显上市在即 PayPay5年用户数超6000万 现代汽车9月销售约1.8万辆电动汽车 2023社交进入大变革时代 不久前,Meta推出社交平台Threads、微信种草社区“小绿书”开启内测&…...

nginx-proxy反向代理缓存

介绍: 反向代理缓存,类似于动静分离,即通过nginx代理服务器根据客户端发送的url请求,去后台服务器获取数据,将静态数据缓存到nginx代理服务器上,并配置有过期时间,当客户端下次以相同的url请求…...

Java反射(一)--- 类的实例化

文章目录 一、整理框架二、Java反射机制提供的功能三、反射相关的主要API四、相关代码:1.Person类2.反射之前,对于Person类的操作3.反射之后,对于Person类的操作 提示:以下是本篇文章正文内容,下面案例可供参考 一、整…...

web3.0时代分布式网络协议的异同

Web3.0时代标志着分布式网络协议的兴起,其中IPFS(InterPlanetary File System)和NDN(Named Data Networking)是备受瞩目的项目。尽管它们都属于分布式网络协议领域,但在多个方面存在显著区别。以下是IPFS和…...

【多线程案例】设计模式-单例模式

1.单例模式 什么是单例模式? 所谓单例,即单个实例。通过编码技巧约定某个类只能有唯一一个实例对象,并且提前在类里面创建好一个实例对象,把构造方法私有化,再对外提供获取这个实例对象的方法,&#xff0…...

MyBatis-Plus演绎:数据权限控制,优雅至极!

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是尘缘,一个在CSDN分享笔记的博主。📚📚 👉点击这里,就可以查看我的主页啦!👇&#x…...

医学专题--多组学在药物治疗靶点筛选中的研究思路

研究背景 药物靶点(drug target):是指药物在体内的作用结合位点,包括基因位点、受体、酶、离子通路、核酸等生物大分子,靶向药物从单靶点药物到多靶点药物都在不断进行临床探索。小分子多靶点药物因其多靶向性、高效率…...

搜索与图论总结

算法博文DFSDFS(深度优先)-CSDN博客BFSBFS(宽度优先)(最短路)-CSDN博客有向图与无向图有向图与无向图(邻接表)_无向图有向图邻接表_人生导师yxc的博客-CSDN博客拓扑排序topsort(拓扑排序)-CSDN博客最短路最…...

lv8 嵌入式开发-网络编程开发 15I/O多路复用及select函数

目录 1 I/O多路复用 1.1 select函数及其他接口相关介绍 1.2 原TCP—socket示例: 1.3 实现select函数TCP—socket示例: 2 练习 1 I/O多路复用 多路复用的实现方式 1.1 select函数及其他接口相关介绍 int select(int nfds, fd_set *readfds, fd_set…...

阿里云 linux tomcat 无法访问方法

1、阿里云放行tomcat端口 例如7077端口号 2、linux 命令行防火墙 设置端口打开 以下命令查看是否开启指定端口 firewall-cmd --list-ports以下命令添加指定端口让防火墙放行 firewall-cmd --zonepublic --add-port3306/tcp --permanent以下命令重新启动防火墙 systemctl re…...

公园视频监控系统如何改造?人工智能又能提供哪些帮助?

近日合肥市骆岗公园宣布正式开园,作为目前世界最大的城市公园,占地12.7万平方公里,如此壮观宏伟的建设,也吸引到了不少市民进行参观打卡。不管大型小型,城市里的公园都是随处可见的,那么,公园安…...

面试算法19:最多删除一个字符得到回文

题目 给定一个字符串,请判断如果最多从字符串中删除一个字符能不能得到一个回文字符串。例如,如果输入字符串"abca",由于删除字符’b’或’c’就能得到一个回文字符串,因此输出为true。 分析 本题还是从字符串的两端…...

H5+Css3文本溢出添加省略号(包括插件)

一、单行 溢出隐藏 添加省略号 p{overflow: hidden;text-overflow:ellipsis;white-space: nowrap; }二、多行 溢出隐藏 省略号 p{display: -webkit-box;-webkit-box-orient: vertical;/*设置省略号在容器第四行文本后*/-webkit-line-clamp: 4; overflow: hidden; }局限性&…...

将休眠镜像文件hiberfil.sys移动到D盘,可以减少C盘好几个G的空间占用

hiberfil.sys是什么文件? 该文件是开启休眠功能后,系统自动生成的内存镜像文件,以便我们唤醒电脑之后可以快速开启程序。 1、首先打开电脑,使用“windowsR”组合键进入运行,输入“regedit”命令。 2、在注册表编辑器中…...

YTM32的模数转换器ADC外设模块详解

文章目录 简介原理与机制ADC转换器的上下电和省电模式ADC转换结果和FIFOADC转换队列的工作模式ADC转换器的触发信号ADC转换器的看门狗中断事件和DMA 应用要点(软件)总结参考文献 简介 YTM32的ADC转换器外设最多可以集成32个输入通道,最高12b…...

财务银行对账费时间?RPA自动对接流水,10分钟对完1个月账

RPA自动化银行对账的优势传统手工对账通常需要财务人员逐笔核对银行流水和企业账目,耗时费力且易出错。RPA(机器人流程自动化)技术可实现银行流水与企业账务系统的自动对接,大幅提升效率。10分钟完成1个月账目核对已成为现实。RPA…...

三步掌握Dark Reader:从入门到精通的护眼浏览解决方案

三步掌握Dark Reader:从入门到精通的护眼浏览解决方案 【免费下载链接】darkreader Dark Reader Chrome and Firefox extension 项目地址: https://gitcode.com/gh_mirrors/da/darkreader Dark Reader是一款能够为任何网站启用深色模式的浏览器扩展&#xff…...

从零搭建SRS流媒体服务器:实现RTMP推拉流的实战部署指南

1. 为什么选择SRS搭建流媒体服务器? 最近几年直播和实时视频的需求爆发式增长,很多开发者都在寻找轻量高效的流媒体服务器方案。我测试过不少开源方案,最终发现SRS(Simple Realtime Server)是最适合个人和小团队自建的…...

【仿真】Carla跨平台部署指南:从零到一,附ROS2与Autoware.auto连接实战

1. Carla仿真平台概述 Carla是一款开源的自动驾驶仿真平台,基于虚幻引擎构建,能够提供高度逼真的城市环境和交通场景。我第一次接触Carla是在2018年,当时它还处于早期开发阶段,但已经展现出惊人的潜力。经过多年发展,现…...

著名学者、顶尖大学教授近期失联

点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号:CVer2233,小助手拉你进群!扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶…...

Mojo 1.2正式版发布后,Python互操作API发生3处破坏性变更——紧急迁移指南与向下兼容降级方案(含自动转换脚本)

第一章:Mojo 1.2互操作API破坏性变更全景概览Mojo 1.2 版本对与 Python、C/C 及系统原生库的互操作接口进行了深度重构,核心目标是提升类型安全性和运行时性能,但由此引入了多项不兼容的破坏性变更。开发者在升级至 1.2 时必须审慎评估现有绑…...

从零上手Neo4j Desktop:CSV数据导入与核心Cypher操作指南

1. Neo4j Desktop环境准备与数据导入 第一次打开Neo4j Desktop时可能会被它的界面搞得有点懵,别担心,我刚开始用的时候也这样。这个工具把数据库管理、浏览器界面和插件都集成在了一起,特别适合新手快速上手。安装过程我就不赘述了&#xff0…...

AI巨头集体“铸Token”:从ChatGPT到“数字员工工厂”,程序员的狂欢还是危机?

想象一下:你早上醒来,打开电脑,不是自己敲代码,而是对着一只“龙虾”说:“帮我把昨天的Bug修了,顺便给老板发份周报。” 这不是科幻——2026年3月,这事儿正在发生。 全球头部科技公司突然集体“…...

Wan2.2-I2V-A14B部署教程:系统盘50GB+数据盘40GB最小化配置实操

Wan2.2-I2V-A14B部署教程:系统盘50GB数据盘40GB最小化配置实操 1. 镜像概述与核心特性 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点是开箱即用,内置了完整…...

AI系统-7Pytorch数字识别实战及算子介绍

之前铺垫了神经网络的基础知识,这里使用编程工具Pytorch进行一个实战讲解。首先变成一个看得见、摸得着的程序和代码,然后再说后续怎么使用GPU/NPU硬件去优化。 本文主要参考ZOMI酱《AI系统》:https://chenzomi12.github.io/01Introduction/0…...