# 方法: ##### [GetVersion](#GetVersion) ## [键盘](#Keyboard) ##### [Keys](https://github.com/go-vgo/robotgo/blob/master/docs/keys.md) ##### [SetKeyboardDelay](#SetKeyDelay) (相当于 SetKeyDelay, 废弃 API) ##### [SetKeyDelay](#SetKeyDelay) ##### [KeyTap](#KeyTap) ##### [KeyToggle](#KeyToggle) ##### [TypeString](#TypeString) ##### [TypeStringDelayed](#TypeStrDelay) (相当于 TypeStrDelay, 废弃 API) ##### [TypeStrDelay](#TypeStrDelay) ##### [TypeStr](#TypeStr) ##### [WriteAll](#WriteAll) ##### [ReadAll](#ReadAll) ## [鼠标](#Mouse) ##### [SetMouseDelay](#SetMouseDelay) ##### [MoveMouse](#MoveMouse) ##### [Move](#MoveMouse) (相当于 MoveMouse) ##### [MoveMouseSmooth](#MoveMouseSmooth) ##### [MoveSmooth](#MoveMouseSmooth) (相当与 MoveMouseSmooth) ##### [MouseClick](#MouseClick) ##### [Click](#MouseClick) (相当于 MouseClick) ##### [MoveClick](#MoveClick) ##### [MouseToggle](#MouseToggle) ##### [DragMouse](#DragMouse) ##### [Drag](#DragMouse) (相当于 DragMouse) ##### [GetMousePos](#GetMousePos) ##### [ScrollMouse](#ScrollMouse) ### <h3 id="GetVersion">.GetVersion()</h3> 获取 robotgo 版本 ## [屏幕](#Screen) ##### [GetPixelColor](#GetPixelColor) ##### [GetScreenSize](#GetScreenSize) ##### [CaptureScreen](#CaptureScreen) ##### [GetXDisplayName(Linux)](#GetXDisplayName) ##### [SetXDisplayName(Linux)](#SetXDisplayName) ## [位图](#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) ##### [LEvent](#AddEvent) (相当于 AddEvent, 废弃 API) ##### [AddEvent](#AddEvent) ##### [StopEvent](#StopEvent) ## [窗口](#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) ## <h2 id="Keyboard">键盘</h2> ### <h3 id="SetKeyDelay">.SetKeyDelay(ms)</h3> 设置键盘延迟 (在键盘一个事件后), 单位 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. ### <h3 id="KeyTap">.KeyTap(key, modifier)</h3> 模拟键盘按键 Press a single key. #### 参数: 键盘值 修饰值 (可选类型, 字符串或者数组) - 可选值: alt, command (win), control, and shift. 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. #### 示例: ```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. #### 参数: 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. ### 返回值: 返回 KeyToggle 状态 ### <h3 id="TypeString">.TypeString(string)</h3> #### 参数: string - The string to send. ### <h3 id="TypeStrDelay">.TypeStrDelay(string, cpm)</h3> #### 参数: string - The string to send. cpm - Characters per minute. ### <h3 id="TypeStr">.TypeStr(string)</h3> #### 参数: string - The string to send. ### <h3 id="WriteAll">.WriteAll(text string)</h3> #### 参数: text string #### 返回值: ### <h3 id="ReadAll">.ReadAll()</h3> #### 参数: #### 返回值: text, error ## <h2 id="Mouse">鼠标</h2> ### <h3 id="SetMouseDelay">.SetMouseDelay(ms)</h3> 设置鼠标延迟 (在一个鼠标事件后), 单位 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. ### <h3 id="MoveMouse">.MoveMouse(x, y)</h3> 移动鼠标 Moves mouse to x, y instantly, with the mouse button up. #### 参数: x, y #### 示例: ```Go // Move the mouse to 100, 100 on the screen. robotgo.MoveMouse(100, 100) ``` ### <h3 id="MoveMouseSmooth">.MoveMouseSmooth(x, y)</h3> 模拟鼠标向 X,Y 平滑移动(像人类一样),用鼠标按钮向上 Moves mouse to x, y human like, with the mouse button up. #### 参数: x, y lowspeed, highspeed #### 示例: ```Go robotgo.MoveMouseSmooth(100, 200) robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0) ``` ### <h3 id="MouseClick">.MouseClick(button, double)</h3> 鼠标点击 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. #### 示例: ```Go robogo.MouseClick() robogo.MouseClick("left", true) ``` ### <h3 id="MoveClick">.MoveClick(x, y, button, double)</h3> 移动并点击鼠标 #### 参数: 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. #### 示例: ```Go robogo.MoveClick(10, 20) robogo.MoveClick(10, 20, "left", true) ``` ### <h3 id="MouseToggle">.MouseToggle(down, button)</h3> 鼠标切换 Toggles mouse button. #### 参数: down (optional) - Accepts down or up. Defaults to down. button (optional) - Accepts "left", "right", or "center". Defaults to left. #### 示例: ```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. #### 参数: x, y #### 示例: ```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. #### 返回值: Returns an object with keys x and y. #### 示例: ```Go x, y := robotgo.GetMousePos() fmt.Println("pos:", x, y) ``` ### <h3 id="ScrollMouse">.ScrollMouse(magnitude, direction)</h3> 滚动鼠标 Scrolls the mouse either up or down. #### 参数: 滚动位置的大小 滚动方向: up (向上滚动) down (向下滚动) magnitude - The amount to scroll. direction - Accepts down or up. #### 示例: ```Go robotgo.ScrollMouse(50, "up") robotgo.ScrollMouse(50, "down") ``` ## <h2 id="Screen">屏幕</h2> ### <h3 id="GetPixelColor">.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. ### <h3 id="GetScreenSize">.GetScreenSize()</h3> 获取屏幕大小 Gets the screen width and height. #### 返回值: Returns an object with .width and .height. ### <h3 id="CaptureScreen">.CaptureScreen</h3> // CaptureScreen 获取部分或者全部屏幕 Gets part or all of the screen. BCaptureScreen Returns a go struct Capture_Screen (废弃) #### 参数: x (optional) y (optional) height (optional) width (optional) If no arguments are provided, capturescreen(screencapture) will get the full screen. #### 返回值: 返回一个 bitmap object. ## <h2 id="Bitmap">位图</h2> This is a work in progress. ### <h3 id="FindBitmap">.FindBitmap</h3> 查找 bitmap. #### 参数: bitmap; rect (可选参数): x, y, w, h #### Return: 查找到, 返回 bitmap 的 x 和y 坐标; 没有返回 nil ### <h3 id="OpenBitmap">.OpenBitmap</h3> 打开 bitmap 图片. #### 参数: bitmap 图片路径, MMImageType (可选) #### 返回值: 返回一个 bitmap 对象 ### <h3 id="SaveBitmap">.SaveBitmap</h3> 保存一个 bitmap 图片. #### 参数: bitmap 对象, 保存路径, imagetype (int) #### 返回值: 保存图片, 返回保存状态 ### <h3 id="TostringBitmap">.TostringBitmap</h3> 将一个 bitmap 对象转换为字符串对象. #### 参数: bitmap 对象 #### Return: 返回一个 bitmap 字符串 ### <h3 id="GetPortion">.GetPortion</h3> bitmap from a portion #### 参数: bitmap, rect: x, y, w, h #### 返回值: Returns new bitmap object created from a portion of another ### <h3 id="Convert">.Convert(openpath, savepath, MMImageType)</h3> 转换 bitmap 图片格式 #### 参数: openpath, savepath, MMImageType (可选) #### 示例: ```Go robotgo.Convert("test.png", "test.tif") ``` ### <h3 id="FreeBitmap">.FreeBitmap(MMBitmapRef)</h3> FreeBitmap free and dealloc bitmap #### 参数: MMBitmapRef #### 示例: ```Go robotgo.FreeBitmap(bitmap) ``` ### <h3 id="ReadBitmap">.ReadBitmap(MMBitmapRef)</h3> ReadBitmap returns false and sets error if |bitmap| is NULL #### 参数: MMBitmapRef #### 返回值: bool #### 示例: ```Go robotgo.ReadBitmap(bitmap) ``` ### <h3 id="CopyBitpb">.CopyBitpb(MMBitmapRef)</h3> CopyBitpb copy bitmap to pasteboard #### 参数: MMBitmapRef #### 返回值: bool #### 示例: ```Go robotgo.CopyBitpb(bitmap) ``` ### <h3 id="DeepCopyBit">.DeepCopyBit(MMBitmapRef)</h3> DeepCopyBit deep copy bitmap #### 参数: MMBitmapRef #### 返回值: MMBitmapRef #### 示例: ```Go robotgo.DeepCopyBit(bitmap) ``` ## <h2 id="Event">事件</h2> ### <h3 id="AddEvent">.AddEvent(string)</h3> 监听全局事件 #### 参数: string (鼠标参数: mleft, mright, wheelDown, wheelUp, wheelLeft, wheelRight) #### 返回值: 监听成功返回 0 #### 示例: ```Go package main import ( "fmt" "github.com/go-vgo/robotgo" ) func main() { keve := robotgo.AddEvent("k") if keve == 0 { fmt.Println("you press...", "k") } mleft := robotgo.AddEvent("mleft") if mleft == 0 { fmt.Println("you press...", "mouse left button") } } ``` ### <h3 id="StopEvent">.StopEvent()</h3> 停止事件监听 ## <h2 id="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 #### 参数: title (string), msg (string), defaultButton (optional string), cancelButton (optional string) #### 返回值: Returns 0 (True) if the default button was pressed, or 1 (False) if cancelled. ### <h3 id="CloseWindow">.CloseWindow()</h3> 关闭窗口 #### 参数: 无 #### 返回值: 无 ### <h3 id="IsValid">.IsValid()</h3> Valid the Window #### 参数: 无 #### 返回值: 如果窗口 selected 返回 true ### <h3 id="SetActive">.SetActive()</h3> 设为当前窗口 #### 参数: hwnd #### 返回值: void ### <h3 id="GetActive">.GetActive()</h3> 获取当前窗口 #### 参数: 无 #### 返回值: Returns hwnd ### <h3 id="SetHandle">.SetHandle()</h3> Set the Window Handle #### 参数: int #### 返回值: bool ### <h3 id="GetHandle">.GetHandle()</h3> 获取窗口 Handle #### 参数: 无 #### 返回值: Returns hwnd ### <h3 id="GetTitle">.GetTitle()</h3> 获取窗口标题 #### 参数: #### 返回值: 返回窗口标题 ### <h3 id="GetPID">.GetPID()</h3> 获取进程 id #### 参数: 无 #### 返回值: 返回进程 id ### <h3 id="Pids">.Pids()</h3> 获取所有进程 id #### 参数: 无 #### 返回值: 返回进程 id ### <h3 id="PidExists">.PidExists()</h3> 判断进程 id 是否存在 #### 参数: pid #### 返回值: 返回 bool ### <h3 id="Process">.Process()</h3> Process get the all process struct #### 参数: 无 #### 返回值: Returns []Nps, error ### <h3 id="FindName">.FindName()</h3> FindName find the process name by the process id #### 参数: pid #### 返回值: 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