文档手册

robotgo - Go原生跨平台RPA和GUI自动化

2024-05-14 09:21:19

构建状态CircleCI状态构建状态Appveyor Go报告卡GoDoc GitHub发行版加入https://gitter.im/go-vgo/robotgo聊天

Golang桌面自动化。控制鼠标、键盘、读取屏幕、进程、窗口句柄、图像和位图以及全局事件监听器。

RobotGo支持Mac、Windows和Linux(X11);robotgo还支持arm64和x86-amd64。


package main

import (
 "github.com/go-vgo/robotgo"
)

func main() {
 // 设置鼠标移动速度
 robotgo.MouseSleep = 100

 // 向上滚动10个滚轮单位
 robotgo.ScrollDir(10, "up")

 // 向右滚动20个滚轮单位
 robotgo.ScrollDir(20, "right")

 // 向下滚动10个滚轮单位
 robotgo.Scroll(0, -10)

 // 向左滚动100个滚轮单位
 robotgo.Scroll(100, 0)

 // 延迟100毫秒
 robotgo.MilliSleep(100)

 // 平滑滚动,向上滚动6个滚轮单位,持续时间为10毫秒
 robotgo.ScrollSmooth(-10, 6)

 // 将鼠标移动到屏幕坐标(10, 20)的位置
 robotgo.Move(10, 20)

 // 相对于当前位置向上移动10个像素
 robotgo.MoveRelative(0, -10)

 // 平滑拖动,从当前位置拖动到(10, 10)的位置
 robotgo.DragSmooth(10, 10)

 // 点击鼠标右键
 robotgo.Click("wheelRight")

 // 按下并释放鼠标左键(模拟点击)
 robotgo.Click("left", true)

 // 平滑移动鼠标到屏幕坐标(100, 200)的位置,移动速度为系统默认值,每步移动延迟10毫秒
 robotgo.MoveSmooth(100, 200, 1.0, 10.0)

 // 按下并释放鼠标左键(切换状态)
 robotgo.Toggle("left")

 // 按下并释放鼠标左键(切换状态),释放后执行一次鼠标移动事件(向上)
 robotgo.Toggle("left", "up")
}