返回鼠标的当前位置,以及鼠标当前悬停的窗口和控件(可选)。
MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]
OutputVarX/Y | 这两个变量存储了当前鼠标的横坐标和纵坐标。坐标默认相对于当前窗口,需要的话可以使用 CoordMode/坐标模式 来更改屏幕的坐标相对位置。 |
OutputVarWin |
这个变量存储了当前鼠标悬停的窗口的 unique ID number/唯一ID ,如果无法检测到窗口,则该变量为空。 即使窗口未处于激活状态,仍能获取它的信息。不过隐藏窗口无法被侦测到。 |
OutputVarControl |
这个变量存储了当前鼠标悬停的控件的名称(ClassNN)。如果无法检测到控件,则该变量为空。 控件的名称和使用 Window Spy(v1.0.14版以上)所获取的控件名称是一样的(可能和老版本的 Window Spy 不一样)。不过和 Window Spy 不同的是,使用 MouseGetPos 检测控件不需要该控件所在的窗口处于激活状态。 |
1|2|3 | 如果省略了,默认值是 0 。否则,可以按如下所示的功能指定一个值: 1:使用一种更简单的方式来获取 OutputVarControl 。这种方式在多文档界面(MDI)的程序(例如 SysEdit 或 TextPad )中可以准确的获取激活或置顶的子窗口信息。但是,它对于其它的情况,例如获取 GroupBox/控件组 中的控件,就不那么准确了。 2 [v1.0.43.06+]:在 OutputVarControl 中存储 control's HWND/窗口句柄 而不是 ClassNN。 3 [v1.0.43.06+]:同时包含 1 和 2 的功能。 |
如果不需要,任何参数都是可以省略的。
CoordMode, WinGet, SetDefaultMouseSpeed, Click
MouseGetPos, xpos, ypos Msgbox, The cursor is at X%xpos% Y%ypos%. ; 这个例子允许你通过移动鼠标来查看 ; 鼠标悬停的窗口的信息 #Persistent SetTimer, WatchCursor, 100 return WatchCursor: MouseGetPos, , , id, control WinGetTitle, title, ahk_id %id% WinGetClass, class, ahk_id %id% ToolTip, ahk_id %id%`nahk_class %class%`n%title%`nControl: %control% return