RobotGo, Go Native cross-platform RPA and GUI automation @vcaesar
Go to file
2017-01-05 20:29:13 +08:00
.github Update Guidelines 2017-01-04 17:37:43 +08:00
base Update sequence #26 2017-01-03 01:54:53 +08:00
bitmap Update link 2016-12-11 02:41:08 +08:00
event Drop c11 to c99 2017-01-05 19:57:03 +08:00
example Update example 2017-01-05 20:29:13 +08:00
key Update link 2016-12-11 02:41:08 +08:00
mouse Update link 2016-12-11 02:41:08 +08:00
screen Update sequence 2017-01-02 23:10:31 +08:00
test Update golint 2016-12-10 23:31:47 +08:00
window Add SetKeyDelay and Update Doc 2016-12-11 17:14:14 +08:00
.gitignore Update .gitignore 2016-10-11 23:40:32 +08:00
circle.yml Add circle 2017-01-05 17:25:52 +08:00
CONTRIBUTING.md Update Contribution 2017-01-04 17:57:43 +08:00
doc_zh.md Update doc 2017-01-03 18:45:08 +08:00
doc.md Update doc 2017-01-03 18:45:08 +08:00
LICENSE Update LICENSE 2016-11-30 16:39:30 +08:00
README_zh.md Update md 2016-12-17 18:27:07 +08:00
README.md Update md 2017-01-05 17:51:08 +08:00
robotgo.go Update example 2017-01-05 20:29:13 +08:00

#Robotgo

CircleCI Status Go Report Card GoDoc Release

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.

##API Document    中文文档 Please click API Document;This is a work in progress.

##Installation: go get github.com/go-vgo/robotgo

It's that easy!

##Update: go get -u github.com/go-vgo/robotgo

###Requirements:

####ALL:
Golang //Gcc zlib & libpng (bitmap)

####For Mac OS X: Xcode Command Line Tools

brew install libpng
brew install homebrew/dupes/zlib

####For Windows: MinGW or other GCC

#####zlib&libpng Windows32 GCC's Course

#####Download include zlib&libpng Windows64 GCC

####For everything else: GCC

X11 with the XTest extension (also known as the Xtst library)

Event:

xcb,xkb,libxkbcommon

#####Ubuntu:

  sudo apt-get install libx11-dev
  sudo apt-get install libgtkglextmm-x11-dev
  sudo apt-get install libghc6-x11-dev
  sudo apt-get install libgl1-mesa-swx11-dev
  sudo apt-get install xorg-dev

  sudo apt-get install libxtst-dev libpng++-dev   

  Event:

  sudo apt-get install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev
  sudo apt-get install libxkbcommon-dev

##Examples:

###Mouse

package main

import (
	//. "fmt"

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

func main() {
  robotgo.ScrollMouse(10, "up")
  robotgo.MouseClick("left",true)
  robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
} 

###Keyboard

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

###Screen

package main

import (
	. "fmt"

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

func main() {
  x, y := robotgo.GetMousePos()
  Println("pos:", x, y)
  color := robotgo.GetPixelColor(100, 200)
  Println("color----", color)
} 

###Bitmap

package main

import (
	. "fmt"

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

func main() {
  bit_map := robotgo.CaptureScreen(10, 20, 30, 40)
  Println("...", bit_map)

  fx, fy := robotgo.FindBitmap(bit_map)
  Println("FindBitmap------", fx, fy)

  robotgo.SaveBitmap(bit_map, "test.png")
} 

###Event

package main

import (
	. "fmt"

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

func main() {
  keve := robotgo.AddEvent("k")
  if keve == 0 {
    Println("you press...", "k")
  }

  mleft := robotgo.AddEvent("mleft")
  if mleft == 0 {
    Println("you press...", "mouse left button")
  }
} 

###Window

package main

import (
	. "fmt"

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

func main() {
  //Println("test")
  abool := robotgo.ShowAlert("test", "robotgo")
  if abool == 0 {
 	  Println("ok@@@", "ok")
  }

  title:=robotgo.GetTitle()
  Println("title@@@", title)
} 

##Contributors