▌前置安装:

go get github.com/go-vgo/robotgo

▌按键操作:

package main

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

func main() {
    // 向上滚动:3行
    robotgo.ScrollMouse(3, `up`)
    // 向下滚动:2行
    robotgo.ScrollMouse(2, `down`)

    // 按下鼠标左键
    // 第1个参数:left(左键) / center(中键,即:滚轮) / right(右键)
    // 第2个参数:是否双击
    robotgo.MouseClick(`left`, false)

    // 按住鼠标左键
    robotgo.MouseToggle(`down`, `left`)
    // 解除按住鼠标左键
    robotgo.MouseToggle(`up`, `left`)
}

▌位置操作:

package main

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

func main() {
    // 将鼠标移动到屏幕 x:800 y:400 的位置(闪现到指定位置)
    robotgo.MoveMouse(800, 400)

    // 将鼠标移动到屏幕 x:800 y:400 的位置(模仿人类操作)
    robotgo.MoveMouseSmooth(800, 400)

    // 将鼠标移动到屏幕 x:800 y:400 的位置(模仿人类操作)
    // 第3个参数:纵坐标x 的延迟到达时间
    // 第4个参数:横坐标y 的延迟到达时间
    robotgo.MoveMouseSmooth(800, 400, 20.0, 200.0)
}

▌组合操作:

package main

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

func main() {
    // 移动鼠标到 x:800 y:400 后,双击鼠标左键
    robotgo.MoveClick(800, 400, `left`, true)
}

▌所在位置:

package main

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

func main() {
    // 获取当前鼠标所在的位置
    x, y := robotgo.GetMousePos()
    println(`x:`, x, ` y:`, y)
}