📙Go语言:进阶大全

Go语言:模拟鼠标操作(go-vgo/robotgo)

2019-12-03  本文已影响0人  白祤星

前置安装:


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

    /* ========================= 位置操作 ======================== */

    // 将鼠标移动到屏幕 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)

    /* ========================= 组合操作 ======================== */

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

    /* ========================= 所在位置 ======================== */

    // 获取当前鼠标所在的位置
    x, y := robotgo.GetMousePos()
    println(`x:`, x, ` y:`, y)
}
上一篇下一篇

猜你喜欢

热点阅读