GO脚本-模拟鼠标键盘

news/2024/10/22 11:30:24/

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

http://www.ppmy.cn/news/1145383.html

相关文章

uniapp获取公钥、MD5,‘keytool‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

获取MD5、SHA1、SHA256指纹信息 通过命令的形式获取 winr调出黑窗口cd到证书所在目录输入keytool -list -v -keystore test.keystore,其中 test.keystore为你的证书名称加文件后缀按照提示输入你的证书密码,就可以查看证书的信息 通过uniapp云端查看(证书是在DClou…

js文字逐个显示

定时器每隔一段时间&#xff0c;替换文本内容&#xff0c;&#xff0c;substring 截取更多的字符串显示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body…

springboot项目静态资源映射

1. springboot项目静态资源映射 import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import

Maven 自动化构建

自动化构建定义了这样一种场景: 在一个项目成功构建完成后&#xff0c;其相关的依赖工程即开始构建&#xff0c;这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api&#xff0c; 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 …

5款日常使用电脑中会用到的小工具

​ 在日常使用电脑时&#xff0c;我们需要各种软件来完成任务。以下是几款小巧但功能齐全的软件推荐。 1.系统优化——Dism ​ Dism是一款基于Dism的系统优化工具&#xff0c;它可以帮助你清理系统垃圾&#xff0c;修复系统错误&#xff0c;管理驱动器和启动项&#xff0c;备…

EM@函数奇偶性性质@函数四则运算和复合运算后的奇偶性判断

文章目录 abstract奇函数和偶函数 函数奇偶性性质函数记号声明 四则运算性质和差乘积商 复合性质奇函数复合偶函数偶函数复合奇函数奇函数复合奇函数偶函数复合偶函数 奇偶性小结&#x1f388;倍乘非零常数不改变奇偶性 奇函数和偶函数表示定义域对称函数 abstract 函数奇偶性…

室内场景数据集分享

ScanNet: A High-Fidelity Dataset of 3D Indoor Scenes ScanNet是一个大规模数据集&#xff0c;将高质量和大众级别的室内场景的几何结构和颜色信息相结合。每个场景都使用高端激光扫描仪以亚毫米级分辨率进行扫描&#xff0c;同时还配备了一台数码单反相机拍摄的3300万像素图…

win1011安装MG-SOFT+MIB+Browser+v10b

文章目录 安装MG-SOFTSNMP服务配置安装MG-SOFT启动MIB-Browser以及错误解决MIB Browser使用 安装MG-SOFT win10和win11安装基本一样&#xff0c;所以参照下面的操作即可&#xff01; SNMP服务配置 打开设置&#xff0c;应用和功能&#xff0c;可选功能&#xff0c;选择添加功…