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