Golang 跨平台自动化系统,控制键盘、鼠标、位图、图像、读取屏幕,进程、窗口句柄以及全局事件监听。
vcaesar 6f4ab42757 Remove bitmap | 7 years ago | |
---|---|---|
.github | 7 years ago | |
base | 7 years ago | |
bitmap | 7 years ago | |
clipboard | 7 years ago | |
docs | 7 years ago | |
event | 7 years ago | |
examples | 7 years ago | |
key | 7 years ago | |
mouse | 7 years ago | |
screen | 7 years ago | |
test | 7 years ago | |
vendor | 7 years ago | |
window | 7 years ago | |
.gitignore | 7 years ago | |
.travis.yml | 7 years ago | |
CONTRIBUTING.md | 7 years ago | |
LICENSE | 7 years ago | |
README.md | 7 years ago | |
README_zh.md | 7 years ago | |
circle.yml | 7 years ago | |
robotgo.go | 7 years ago |
Golang Desktop Automation. Control the mouse, keyboard, bitmap, read the screen, Window Handle and global event listener.
RobotGo supports Mac, Windows, and Linux(X11).
This is a work in progress.
Now, Please make sure Golang, GCC is installed correctly before installing RobotGo.
Golang
GCC
Xcode Command Line Tools
MinGW or other GCC
GCC
X11 with the XTest extension (also known as the Xtst library)
Event:
xcb, xkb, libxkbcommon
sudo apt-get install gcc libc6-dev
sudo apt-get install libx11-dev
sudo apt-get install xorg-dev
sudo apt-get install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev
sudo apt-get install libxkbcommon-dev
sudo apt-get install xsel
sudo apt-get install xclip
sudo dnf install libxkbcommon-devel libXtst-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel
sudo dnf install xsel
sudo dnf install xclip
go get github.com/go-vgo/robotgo
It's that easy!
go get -u github.com/go-vgo/robotgo
package main
import (
"github.com/go-vgo/robotgo"
)
func main() {
robotgo.ScrollMouse(10, "up")
robotgo.MouseClick("left", true)
robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
}
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
robotgo.TypeString("Hello World")
robotgo.KeyTap("enter")
robotgo.TypeString("en")
robotgo.KeyTap("i", "alt", "command")
arr := []string{"alt", "command"}
robotgo.KeyTap("i", arr)
robotgo.WriteAll("Test")
text, err := robotgo.ReadAll()
if err == nil {
fmt.Println(text)
}
}
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
x, y := robotgo.GetMousePos()
fmt.Println("pos:", x, y)
color := robotgo.GetPixelColor(100, 200)
fmt.Println("color----", color)
}
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
keve := robotgo.AddEvent("k")
if keve == 0 {
fmt.Println("you press...", "k")
}
mleft := robotgo.AddEvent("mleft")
if mleft == 0 {
fmt.Println("you press...", "mouse left button")
}
}
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
fpid, err := robotgo.FindIds("Google")
if err == nil {
fmt.Println("pids...", fpid)
}
isExist, err := robotgo.PidExists(100)
if err == nil {
fmt.Println("pid exists is", isExist)
}
abool := robotgo.ShowAlert("test", "robotgo")
if abool == 0 {
fmt.Println("ok@@@", "ok")
}
title := robotgo.GetTitle()
fmt.Println("title@@@", title)
}
Supporting robotgo, buy me a coffee.
Donate money by paypal to my account vzvway@gmail.com
Robotgo is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.
See LICENSE-APACHE, LICENSE-MIT.