1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/veni0-robotgo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 6.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 19:01 726f18c

Robotgo

Golang — это кроссплатформенная система автоматизации, которая позволяет управлять клавиатурой, мышью, растровыми изображениями, изображениями, считывать экран, процессы и дескрипторы окон, а также осуществлять глобальный мониторинг событий. RobotGo поддерживает Mac, Windows и Linux (X11).

Проблемы можно сообщать на Github, чтобы обеспечить централизованное управление и своевременное обновление.

Содержание:

— Docs;

— Binding;

— Requirements;

— Installation;

— Update;

— Examples;

— Cross-Compiling;

— Authors;

— Plans;

— Donate;

— Contributors;

— License.

Docs:

— GoDoc;

— 中文文档;

— English Docs.

Binding:

Robotn — привязка к JavaScript и другим языкам, поддержка большего количества языков.

Требования:

Для установки RobotGo необходимо убедиться, что Golang и GCC установлены правильно.

Для всех:

Golang
GCC

Для Mac OS X:

Xcode Command Line Tools

Для Windows:

MinGW-w64 (рекомендуется) или другой GCC

Для всего остального (Linux и другие системы):

GCC, libpng
X11 с расширением XTest (также известным как библиотека Xtst)
События:
xcb, xkb, libxkbcommon

Ubuntu:

sudo apt install gcc libc6-dev
sudo apt install libx11-dev xorg-dev libxtst-dev libpng++-dev
sudo apt install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev
libxkbcommon-dev
sudo apt install xsel xclip

Fedora:

sudo dnf install libxkbcommon-devel libXtst-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel
sudo dnf install libpng-devel
sudo dnf install xsel xclip

Установка:

go get github.com/go-vgo/robotgo

Это так просто!

Обновление:

go get -u github.com/go-vgo/robotgo

Обратите внимание на проблемы с кэшированием файлов C при компиляции в go1.10.x, golang #24355. Проблема с go mod vendor, golang #26366.

Примеры:

Мышь:

package main

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

func main() {
  robotgo.ScrollMouse(10, "up")
  robotgo.Scroll(100, 200)
  robotgo.MilliSleep(100)
  robotgo.ScrollRelative(10, -100)

  robotgo.MouseSleep = 100
  robotgo.Move(10, 20)
  robotgo.MoveRelative(0, -10)
  robotgo.Drag(10, 10)

  robotgo.Click("left", true)
  robotgo.MoveSmooth(100, 200, 1.0, 100.0)
  robotgo.MouseToggle("up")
}

Клавиатура:

package main

import (
  "fmt"

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

func main() {
  robotgo.TypeStr("Hello World. Winter is coming!")
  robotgo.TypeStr("だんしゃり", 1.0)
  // robotgo.TypeStr("テストする")

  robotgo.TypeStr("Hi galaxy. こんにちは世界.")
  robotgo.Sleep(1)

  // ustr := uint32(robotgo.CharCodeAt("テストする", 0))
  // robotgo.UnicodeType(ustr)

  robotgo.KeySleep =
``` **Текст запроса написан на языке Go.**

100  
robotgo.KeyTap("enter")  
// robotgo.TypeStr("en")  
robotgo.KeyTap("i", "alt", "command")  

arr := []string{"alt", "command"}  
robotgo.KeyTap("i", arr)  

robotgo.MilliSleep(100)  
robotgo.KeyToggle("a", "down")  

robotgo.WriteAll("テストする")  
text, err := robotgo.ReadAll()  
if err == nil {  
    fmt.Println(text)  
}

**В запросе присутствуют фрагменты кода на языке Go, которые не были переведены.** **События**

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

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


**Оконный дескриптор**

```Go
package main

import (
    "fmt"

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

func main() {
  fpid, err := robotgo.FindIds("Google")
  if err == nil {
    fmt.Println("pids...", fpid)

    if len(fpid) > 0 {
      robotgo.ActivePID(fpid[0])

      robotgo.Kill(fpid[0])
    }
  }

  robotgo.ActiveName("chrome")

  isExist, err := robotgo.PidExists(100)
  if err == nil && isExist {
    fmt.Println("pid exists is", isExist)

    robotgo.Kill(100)
  }

  abool := robotgo.ShowAlert("test", "robotgo")
  if abool {
    fmt.Println("ok@@@ ", "ok")
  }

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

Кросс-компиляция

Windows64 в windows32

SET CGO_ENABLED=1
SET GOARCH=386
go build main.go

Другие в Windows

Установить требования (Ubuntu):

sudo apt install gcc-multilib
sudo apt install gcc-mingw-w64
sudo apt install libz-mingw-w64-dev

Построить бинарный файл:

GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ go build -x ./
// CC=mingw-w64\x86_64-7.2.0-win32-seh-rt_v5-rev1\mingw64\bin\gcc.exe
// CXX=mingw-w64\x86_64-7.2.0-win32-seh-rt_v5-rev1\mingw64\bin\g++.exe

Авторы

Планы

  • Обновить поиск изображения на экране, чтение пикселей из изображения.
  • Обновить оконный дескриптор.
  • Попытаться поддержать Android, возможно, поддержать IOS.

Вкладчики

См. страницу вкладчиков (https://github.com/go-vgo/robotgo/graphs/contributors) для полного списка вкладчиков.

См. Руководство по вкладу (https://github.com/go-vgo/robotgo/blob/master/CONTRIBUTING.md).

Лицензия

Robotgo распространяется преимущественно на условиях лицензии MIT и лицензии Apache (версия 2.0), при этом некоторые части покрыты различными лицензиями, похожими на BSD.

Смотрите LICENSE-APACHE (http://www.apache.org/licenses/LICENSE-2.0), LICENSE-MIT (https://github.com/go-vgo/robotgo/blob/master/LICENSE).

1
https://api.gitlife.ru/oschina-mirror/veni0-robotgo.git
git@api.gitlife.ru:oschina-mirror/veni0-robotgo.git
oschina-mirror
veni0-robotgo
veni0-robotgo
master