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后野生全站工程师

赞同来自:

panndora

赞同来自:

除了调用dll有没有更底层的驱动级模拟键盘操作的方法。
目前很多游戏都直接屏蔽窗口消息,直接通过DX获取底层的键盘鼠标输入。

veni - 90后野生全站工程师

赞同来自:

目前没有优先级, 加 QQ 群讨论吧, 595877611

要回复问题请先登录注册