doc_zh.md 13 KB

方法:

GetVersion

键盘

Keys
SetKeyDelay
KeyTap
KeyToggle
TypeStr
TypeStrDelay
WriteAll
ReadAll

鼠标

SetMouseDelay
MoveMouse
Move (相当于 MoveMouse)
MoveMouseSmooth
MoveSmooth (相当与 MoveMouseSmooth)
MouseClick
Click (相当于 MouseClick)
MoveClick
MouseToggle
DragMouse
Drag (相当于 DragMouse)
GetMousePos
ScrollMouse

.GetVersion()

获取 robotgo 版本

屏幕

GetPixelColor
GetScreenSize
CaptureScreen
GetXDisplayName(Linux)
SetXDisplayName(Linux)

位图

This is a work in progress. (工作正在进行中)
FindBitmap
OpenBitmap
SaveBitmap
TostringBitmap
GetPortion
Convert

FreeBitmap

ReadBitmap

CopyBitpb

DeepCopyBit

事件

AddEvent
StopEvent

窗口

This is a work in progress.
ShowAlert
CloseWindow
IsValid
SetActive
GetActive
SetHandle
GetHandle
GetTitle
GetPID
Pids
PidExists
Process
FindName
FindNames
FindIds

ActivePID

键盘

.SetKeyDelay(ms)

设置键盘延迟 (在键盘一个事件后), 单位 ms, 默认值 10ms

Sets the delay in milliseconds to sleep after a keyboard event. This is 10ms by default.

参数:

延迟时间,单位 ms

ms - Time to sleep in milliseconds.

.KeyTap(key, modifier)

模拟键盘按键

Press a single key.

参数:

键盘值
修饰值 (可选类型, 字符串或者数组) - 可选值: alt, command (win), control, and shift.

key - See keys.
modifier (optional, string or array) - Accepts alt, command (win), control, and shift.

示例:

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

.KeyToggle(key, down, modifier)

键盘切换, 按住或释放一个键位

Hold down or release a key.

参数:

key - See keys.
down - Accepts 'down' or 'up'.
modifier (optional, string or array) - Accepts alt, command (mac), control, and shift.

返回值:

返回 KeyToggle 状态

.TypeStr(string)

参数:

string - The string to send.

.TypeStrDelay(string, cpm)

参数:

string - The string to send.
cpm - Characters per minute.

.WriteAll(text string)

参数:

text string

返回值:

.ReadAll()

参数:

返回值:

text,
error 

鼠标

.SetMouseDelay(ms)

设置鼠标延迟 (在一个鼠标事件后), 单位 ms, 默认值 10 ms

Sets the delay in milliseconds to sleep after a mouse event. This is 10ms by default.

参数:

ms - Time to sleep in milliseconds.

.MoveMouse(x, y)

移动鼠标

Moves mouse to x, y instantly, with the mouse button up.

参数:

x, y

示例:

// Move the mouse to 100, 100 on the screen. 
robotgo.MoveMouse(100, 100)

.MoveMouseSmooth(x, y)

模拟鼠标向 X,Y 平滑移动(像人类一样),用鼠标按钮向上

Moves mouse to x, y human like, with the mouse button up.

参数:

x, y
lowspeed, highspeed

示例:

robotgo.MoveMouseSmooth(100, 200)
robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)

.MouseClick(button, double)

鼠标点击

Clicks the mouse.

参数:

button (optional) - Accepts left, right, or center. Defaults to left.
double (optional) - Set to true to perform a double click. Defaults to false.

示例:

robotgo.MouseClick()
robotgo.MouseClick("left", true)

.MoveClick(x, y, button, double)

移动并点击鼠标

参数:

x,
y,

button (optional) - Accepts "left", "right", or "center". Defaults to left.
double (optional) - Set to true to perform a double click. Defaults to false.

示例:

robotgo.MoveClick(10, 20)
robotgo.MoveClick(10, 20, "left", true)

.MouseToggle(down, button)

鼠标切换

Toggles mouse button.

参数:

down (optional) - Accepts down or up. Defaults to down.
button (optional) - Accepts "left", "right", or "center". Defaults to left.

示例:

robotgo.MouseToggle("down")
robotgo.MouseToggle("down", "right")

.DragMouse(x, y)

拖动鼠标

Moves mouse to x, y instantly, with the mouse button held down.

参数:

x, y

示例:

// Mouse down at 0, 0 and then drag to 100, 100 and release. 
robotgo.MoveMouse(0, 0)
robotgo.MouseToggle("down")
robotgo.DragMouse(100, 100)
robotgo.MouseToggle("up")

.GetMousePos()

获取鼠标的位置

Gets the mouse coordinates.

返回值:

Returns an object with keys x and y.

示例:

x, y := robotgo.GetMousePos()
fmt.Println("pos:", x, y)

.ScrollMouse(magnitude, direction)

滚动鼠标

Scrolls the mouse either up or down.

参数:

滚动位置的大小
滚动方向: up (向上滚动)  down (向下滚动)

magnitude - The amount to scroll.
direction - Accepts down or up.

示例:

robotgo.ScrollMouse(50, "up")

robotgo.ScrollMouse(50, "down")

屏幕

.GetPixelColor(x, y)

获取坐标为 x, y 位置处的颜色

Gets the pixel color at x, y. This function is perfect for getting a pixel or two,  
but if you'll be reading large portions of the screen use screen.capture.

参数:

x, y

返回值:

Returns the hex color code of the pixel at x, y.

.GetScreenSize()

获取屏幕大小

Gets the screen width and height.

返回值:

Returns an object with .width and .height.

.CaptureScreen

// CaptureScreen
获取部分或者全部屏幕
Gets part or all of the screen.

GoCaptureScreen Returns a go struct

参数:

x (optional)
y (optional)
height (optional)
width (optional)
If no arguments are provided, capturescreen(screencapture) will get the full screen.

返回值:

返回一个 bitmap object.

位图

This is a work in progress.

.FindBitmap

查找 bitmap.

参数:

bitmap;
rect (可选参数): x, y, w, h

Return:

查找到, 返回 bitmap 的 x 和y 坐标; 没有返回 nil

.OpenBitmap

打开 bitmap 图片.

参数:

bitmap 图片路径,
MMImageType (可选)

返回值:

 返回一个 bitmap 对象

.SaveBitmap

保存一个 bitmap 图片.

参数:

bitmap 对象,
保存路径,
imagetype (int) 

返回值:

保存图片, 返回保存状态

.TostringBitmap

 将一个 bitmap 对象转换为字符串对象.

参数:

bitmap 对象 

Return:

返回一个 bitmap 字符串 

.GetPortion

 bitmap from a portion

参数:

bitmap,
rect: x, y, w, h 

返回值:

Returns new bitmap object created from a portion of another    

.Convert(openpath, savepath, MMImageType)

转换 bitmap 图片格式

参数:

openpath,
savepath,
MMImageType (可选)

示例:

robotgo.Convert("test.png", "test.tif")

.FreeBitmap(MMBitmapRef)

FreeBitmap free and dealloc bitmap

参数:

MMBitmapRef

示例:

robotgo.FreeBitmap(bitmap)

.ReadBitmap(MMBitmapRef)

ReadBitmap returns false and sets error if |bitmap| is NULL

参数:

MMBitmapRef

返回值:

bool

示例:

robotgo.ReadBitmap(bitmap)

.CopyBitpb(MMBitmapRef)

CopyBitpb copy bitmap to pasteboard

参数:

MMBitmapRef

返回值:

bool

示例:

robotgo.CopyBitpb(bitmap)

.DeepCopyBit(MMBitmapRef)

DeepCopyBit deep copy bitmap

参数:

MMBitmapRef

返回值:

MMBitmapRef

示例:

robotgo.DeepCopyBit(bitmap)

事件

.AddEvent(string)

监听全局事件

参数:

string

(鼠标参数: mleft, mright, wheelDown, wheelUp, wheelLeft, wheelRight)

返回值:

监听成功返回 0

示例:

package main

import (
    "fmt"

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

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

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

.StopEvent()

停止事件监听

窗口

.ShowAlert(title, msg, defaultButton, cancelButton string)

Displays alert with the given attributes. If cancelButton is not given, only the defaultButton is displayed

参数:

title (string),
msg (string),
defaultButton (optional string),
cancelButton (optional string)

返回值:

Returns 0 (True) if the default button was pressed, or 1 (False) if cancelled.

.CloseWindow()

关闭窗口

参数:

返回值:

.IsValid()

Valid the Window

参数:

返回值:

如果窗口 selected 返回 true 

.SetActive()

设为当前窗口

参数:

hwnd  

返回值:

void

.GetActive()

获取当前窗口

参数:

返回值:

Returns hwnd

.SetHandle()

Set the Window Handle

参数:

int 

返回值:

bool    

.GetHandle()

获取窗口 Handle

参数:

返回值:

Returns hwnd  

.GetTitle()

获取窗口标题

参数:

返回值:

返回窗口标题  

.GetPID()

获取进程 id

参数:

返回值:

返回进程 id    

.Pids()

获取所有进程 id

参数:

返回值:

返回进程 id   

.PidExists()

判断进程 id 是否存在

参数:

pid  

返回值:

返回 bool 

.Process()

Process get the all process struct

参数:

返回值:

Returns []Nps, error

.FindName()

FindName find the process name by the process id

参数:

pid  

返回值:

Returns string, error 

.FindNames()

FindNames find the all process name

Arguments:

none  

Return:

Returns []string, error  

.FindIds()

FindIds find the process id by the process name

Arguments:

name string  

Return:

Returns []int32, error  

.ActivePID()

ActivePID window active by PID

Arguments:

pid int32 

Return:

none