Metrics
0
Watch 16 Star 51

vz / robotnGoApache-2.0

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
Golang 跨平台自动化系统, binding 其他编程语言; 控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听 spread retract

  • JavaScript 34.3%
  • Go 29.4%
  • Python 17.2%
  • TypeScript 9.2%
  • Lua 8.1%
  • Other 1.8%
Clone or download
Loading...
README.md

Robotn

Build Status CircleCI Status Appveyor Go Report Card GoDoc GitHub release Join the chat at https://gitter.im/go-vgo/robotgo

Golang Desktop Automation, binding other language. Control the mouse, keyboard, bitmap, read the screen, Window Handle and global event listener.

Robotn supports Mac, Windows, and Linux(X11). Robot supports go, javascript, python and other.

简体中文

Contents

Docs

Requirements:

Now, there is no prebuild binary version available, Please make sure Golang, GCC is installed correctly before installing robotgo.

Robotgo Requirements

Install robotn

npm install robotn

Also, you can Build from source code. The python's pip install, and the prebuilt binaries will be added in the future.

Examples:

Mouse

var robot = require('robotn');

robot.scroll(10, 10);
robot.mouseClick("left", true);
robot.moveSmooth(100, 200, 1.0, 100.0);

python

import robot

robot.scroll(10, 10)
robot.mouseClick("left", true)
robot.moveSmooth(100, 200, 1.0, 100.0)

Keyboard

var robot = require('robotn');

robot.typeStr("测试")
robot.typeStr("山达尔星新星军团, galaxy. こんにちは世界.")
robot.sleep(1)

robot.keyTap("enter")

robot.writeAll("Test")
var text = robot.readAll()
console.log(text)

Screen

var robot = require('robotn');

var pos = robot.getMousePos()
console.log("pos: ", pos)
var color = robot.getPixelColor(100, 200)
console.log("color---- ", color)

Bitmap

var robot = require('robotn');

var bitmap = robot.captureScreen(10, 20, 30, 40)
console.log("...", bitmap)

var pos = robot.findBitmap(bitmap)
console.log("FindBitmap------ ", pos)

robot.saveBitmap(bitmap, "test.png")
// use `robot.freeBitmap(bit)` to free the bitmap
robot.freeBitmap(bitmap)

Event

var robot = require('robotn');

var keve = robot.addEvent("k");
if (keve) {
  console.log("you press... ", "k");
}

var s = robot.addEvents("q", "ctrl");
if (s) {
  console.log("you press... ", "mouse left button");
}

Window

var robot = require('robotn');

var fpid = robot.findIds("Google")
console.log("pids... ", fpid)

if (fpid.length > 0) {
  robot.activePID(fpid[0])

  robot.kill(fpid[0])
}

robot.activeName("chrome")

var isExist = robot.pidExists(100)
if (isExist) {
  console.log("pid exists is", isExist)

  robot.kill(100)
}

var abool = robot.showAlert("test", "robotgo")
if (abool == 0) {
  console.log("ok@@@ ", "ok")
}

var title = robot.getTitle()
console.log("title@@@ ", title)

Build from source code:

Install robotgo

go get -u github.com/go-vgo/robotgo
git clone https://github.com/vcaesar/robotn

Build-tools

go get -v github.com/vcaesar/gocs

Building

cd robotn
gocs -n robotgo

node:

Install npm modules
npm install

python

pip install cffi

Authors

Plans

  • Update Find an image on screen, read pixels from an image
  • Update Window Handle
  • Try support Android, maybe support IOS

Donate

Supporting robotgo, buy me a coffee.

Paypal

Donate money by paypal to my account vzvway@gmail.com

Contributors

License

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.

Comments ( 0 )

You need to Sign in for post a comment

Help Search