Go语言跨平台GUI自动化系统(模拟鼠标键盘和控制bitmap窗口以及屏幕以及全局事件监听)

https://github.com/go-vgo/robotgo


Go语言跨平台GUI自动化系统,控制键盘鼠标bitmap和读取屏幕,操作窗口句柄以及全局事件监听;
支持Mac、Windows、Linux等主流系统;
用于自动化测试工具和远程控制以及自动化游戏等工具的编写;
简洁高效的跨平台工具自动化库


例子:


package main

import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
robotgo.ScrollMouse(10, "up")
robotgo.MouseClick("left",true)

x, y := robotgo.GetMousePos()
fmt.Println("pos:", x, y)
robotgo.KeyTap("i", "alt", "command")
//按下"i", "alt", "command"组合键
arr := []string{"alt", "command"}
robotgo.KeyTap("i", arr)
}
已邀请:

colefan

赞同来自: veni

有好的栗子,摆弄几个,让大伙开开眼

astaxie - 创造、获取、分享、传播和应用Go

赞同来自: veni

嗯,提供多一些例子以及截图可能就更好了,比较忧伤的是目前网站的图片上传功能我还在开发中。 :(

moketao

赞同来自: veni

这个...有意思, 可以用来做很多自动化的工作, 比如...游戏挂机


似乎最关键的位图查找功能还在开发中

veni - 90后野生全站工程师

赞同来自: itfanr

已添加对bitmap的支持

niugou - 宁可十年不将军,不可一日不拱卒。

赞同来自:

似乎没有找到有关操作窗口句柄的相关方法,之前有用过一点AutoIT,这个比较关注。

够浪

赞同来自:

哈哈,有用。以前用c#做过抢红包雨的小程序,很多时候全部红包都被打开可是一分钱也没有...
不知这个运行效率如何,用按键精灵做的模拟鼠标点击就不行,效率太低,很多红包都成了漏网之鱼。

outtime

赞同来自:

github.com/go-vgo/robotgo


cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
64位不支持吗?

veni - 90后野生全站工程师

赞同来自:

支持64位,你编译器有问题(是32位的),go在Windows上的Gcc某些版本有这个问题;你直接下https://github.com/go-vgo/Mingw 或者看着篇文章 http://www.cnblogs.com/ghj1976/p/3540257.html

haha

赞同来自:

win7 64位电脑上有人安装成功过吗?我go get github.com/go-vgo/robotgo时,出现cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

veni - 90后野生全站工程师

赞同来自:

估计你下错了,跟上面问题一样,你直接下https://github.com/go-vgo/Mingw 肯定是可以的,这是我修改的Mingw64(添加了一些包)

haha

赞同来自:

已经安装成功了,谢谢!

sdoaaa1234kk

赞同来自:

有没有电子书教程?

veni - 90后野生全站工程师

赞同来自:

要回复问题请先登录注册