mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-05-29 21:43:55 +00:00
13 KiB
13 KiB
Methods:
GetVersion
Keyboard
Keys
SetKeyDelay
KeyTap
KeyToggle
TypeStr
TypeStrDelay
WriteAll
ReadAll
Mouse
SetMouseDelay
MoveMouse
Move (Equivalent to MoveMouse)
MoveMouseSmooth
MoveSmooth (Equivalent to MoveMouseSmooth)
MouseClick
Click (Equivalent to MouseClick)
MoveClick
MouseToggle
DragMouse
Drag (Equivalent to DragMouse)
GetMousePos
ScrollMouse
Screen
GetPixelColor
GetScreenSize
CaptureScreen
GetXDisplayName(Linux)
SetXDisplayName(Linux)
Bitmap
This is a work in progress.
FindBitmap
OpenBitmap
SaveBitmap
TostringBitmap
GetPortion
Convert
FreeBitmap
ReadBitmap
CopyBitpb
DeepCopyBit
Event
AddEvent
StopEvent
Window
This is a work in progress.
ShowAlert
CloseWindow
IsValid
SetActive
GetActive
SetHandle
GetHandle
GetTitle
GetPID
Pids
PidExists
Process
FindName
FindNames
FindIds
ActivePID
.GetVersion()
Get robotgo version
Keyboard
.SetKeyDelay(ms)
Sets the delay in milliseconds to sleep after a keyboard event. This is 10ms by default.
Arguments:
ms - Time to sleep in milliseconds.
.KeyTap(key, modifier)
Press a single key.
Arguments:
key - See keys.
modifier (optional, string or array) - Accepts alt, command (win), control, and shift.
Examples:
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.
Arguments:
key - See keys.
down - Accepts 'down' or 'up'.
modifier (optional, string or array) - Accepts alt, command (mac), control, and shift.
Return:
return KeyToggle status
.TypeStr(string)
Arguments:
string - The string to send.
.TypeStrDelay(string, cpm)
Arguments:
string - The string to send.
cpm - Characters per minute.
.WriteAll(text string)
Arguments:
text string
Return:
.ReadAll()
Arguments:
Return:
text,
error
Mouse
.SetMouseDelay(ms)
Sets the delay in milliseconds to sleep after a mouse event. This is 10ms by default.
Arguments:
ms - Time to sleep in milliseconds.
.MoveMouse(x, y)
Moves mouse to x, y instantly, with the mouse button up.
Arguments:
x, y
Examples:
// Move the mouse to 100, 100 on the screen.
robotgo.MoveMouse(100, 100)
.MoveMouseSmooth(x, y)
Moves mouse to x, y human like, with the mouse button up.
Arguments:
x, y
lowspeed, highspeed
Examples:
robotgo.MoveMouseSmooth(100, 200)
robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
.MouseClick(button, double)
Clicks the mouse.
Arguments:
button (optional) - Accepts "left", "right", or "center". Defaults to left.
double (optional) - Set to true to perform a double click. Defaults to false.
Examples:
robotgo.MouseClick()
robotgo.MouseClick("left", true)
.MoveClick(x, y, button, double)
Move and click the mouse.
Arguments:
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.
Examples:
robotgo.MoveClick(10, 20)
robotgo.MoveClick(10, 20, "left", true)
.MouseToggle(down, button)
Toggles mouse button.
Arguments:
down (optional) - Accepts down or up. Defaults to down.
button (optional) - Accepts "left", "right", or "center". Defaults to left.
Examples:
robotgo.MouseToggle("down")
robotgo.MouseToggle("down", "right")
.DragMouse(x, y)
Moves mouse to x, y instantly, with the mouse button held down.
Arguments:
x, y
Examples:
// 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.
Return:
Returns an object with keys x and y.
Examples:
x,y := robotgo.GetMousePos()
fmt.Println("pos:", x, y)
.ScrollMouse(magnitude, direction)
Scrolls the mouse either up or down.
Arguments:
magnitude - The amount to scroll.
direction - Accepts down or up.
Examples:
robotgo.ScrollMouse(50, "up")
robotgo.ScrollMouse(50, "down")
Screen
.GetPixelColor(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.
Arguments:
x, y
Return:
Returns the hex color code of the pixel at x, y.
.GetScreenSize()
Gets the screen width and height.
Return:
Returns an object with .width and .height.
.CaptureScreen
// CaptureScreen
Gets part or all of the screen.
GoCaptureScreen Returns a go struct
Arguments:
x (optional)
y (optional)
height (optional)
width (optional)
If no arguments are provided, capturescreen(screencapture) will get the full screen.
Return:
Returns a bitmap object.
Bitmap
This is a work in progress.
.FindBitmap
find bitmap.
Arguments:
bitmap;
rect(optional): x, y, w, h
Return:
Returns a position x and y
.OpenBitmap
open bitmap.
Arguments:
bitmap image path,
MMImageType (optional)
Return:
Returns a bitmap
.SaveBitmap
Save a image with bitmap.
Arguments:
bitmap,
path,
imagetype (int)
Return:
return save image status
.TostringBitmap
bitmap to string
Arguments:
bitmap
Return:
Return a sting bitmap
.GetPortion
bitmap from a portion
Arguments:
bitmap,
rect: x, y, w, h
Return:
Returns new bitmap object created from a portion of another
.Convert(openpath, savepath, MMImageType)
Convert the image format
Arguments:
openpath,
savepath,
MMImageType (optional)
Examples:
robotgo.Convert("test.png", "test.tif")
.FreeBitmap(MMBitmapRef)
FreeBitmap free and dealloc bitmap
Arguments:
MMBitmapRef
Examples:
robotgo.FreeBitmap(bitmap)
.ReadBitmap(MMBitmapRef)
ReadBitmap returns false and sets error if |bitmap| is NULL
Arguments:
MMBitmapRef
Return:
bool
Examples:
robotgo.ReadBitmap(bitmap)
.CopyBitpb(MMBitmapRef)
CopyBitpb copy bitmap to pasteboard
Arguments:
MMBitmapRef
Return:
bool
Examples:
robotgo.CopyBitpb(bitmap)
.DeepCopyBit(MMBitmapRef)
DeepCopyBit deep copy bitmap
Arguments:
MMBitmapRef
Return:
MMBitmapRef
Examples:
robotgo.DeepCopyBit(bitmap)
Event
.AddEvent(string)
Listening global event
Arguments:
string
(mouse arguments: mleft, mright, wheelDown, wheelUp, wheelLeft, wheelRight)
Return:
if listened return 0
Examples:
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()
stop listen global event
Window
.ShowAlert(title, msg, defaultButton, cancelButton string)
Displays alert with the given attributes. If cancelButton is not given, only the defaultButton is displayed
Arguments:
title (string),
msg (string),
defaultButton (optional string),
cancelButton (optional string)
Return:
Returns 0(True) if the default button was pressed, or 1(False) if cancelled.
.CloseWindow()
Close the Window
Arguments:
None
Return:
None
.IsValid()
Valid the Window
Arguments:
None
Return:
Returns true if a window has been selected
.SetActive()
Set the Active Window
Arguments:
hwnd
Return:
void
.GetActive()
Get the Active Window
Arguments:
None
Return:
Returns hwnd
.SetHandle()
Set the Window Handle
Arguments:
int
Return:
bool
.GetHandle()
Get the Window Handle
Arguments:
None
Return:
Returns hwnd
.GetTitle()
Get the Window Title
Arguments:
None
Return:
Returns Window Title
.GetPID()
Get the process id
Arguments:
None
Return:
Returns the process id
.Pids()
Pids get the all process id
Arguments:
None
Return:
Returns all process id
.PidExists()
PidExists determine whether the process exists
Arguments:
pid
Return:
Returns bool
.Process()
Process get the all process struct
Arguments:
none
Return:
Returns []Nps, error
.FindName()
FindName find the process name by the process id
Arguments:
pid
Return:
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