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

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…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...