获取鼠标光标的当前位置以及鼠标当前悬停的窗口和控件(可选的).
MouseGetPos, , OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, Flag
用来保存 X 和 Y 坐标的变量名. 获取的坐标相对于活动窗口, 除非曾使用 CoordMode 改变成屏幕坐标.
这个可选的参数是用来保存鼠标光标下窗口的唯一 ID 号的变量名. 如果无法检测到此窗口, 则此变量被置空.
即使窗口不处于活动状态, 也能检测到它的信息. 无法检测到隐藏窗口.
这个可选的参数是用来保存鼠标光标下控件的类名(ClassNN) 的变量名. 如果无法检测到此控件, 则此变量被置空.
这里控件的名称应该总是和随 [v1.0.14+] 一起发布的 Window Spy 中显示的相同(但可能和旧版 Window Spy 显示的不同). 然而, 与 Window Spy 不同的是, 即使鼠标光标下的窗口不处于活动状态, 也能检测到其中控件的信息.
如果省略或为 0, 命令使用默认方法来确定 OutputVarControl 并存储控件的 ClassNN. 要更改此行为, 请指定下列数字的其中一个:
1: 使用更简单的方法来获取 OutputVarControl. 这种方法可以正确获取多文档界面(MDI) 应用程序(例如 SysEdit 或 TextPad) 的活动/顶级子窗口的信息. 不过, 对于其他的情况(例如获取 GroupBox 控件中的控件) 就没有那么准确了.
2 [v1.0.43.06+]: 把控件的 HWND 保存到 OutputVarControl 而不是控件的 ClassNN.
3 [v1.0.43.06+]: 要使上面两个选项都生效, Flag 参数必须设置为 3(1+2).
如果不需要相应的信息, 则可以省略相应的输出变量.
CoordMode, WinGet, SetDefaultMouseSpeed, Click
MouseGetPos, xpos, ypos MsgBox, The cursor is at X%xpos% Y%ypos%.
#2: 这里例子允许您移动鼠标来查看鼠标悬停窗口的标题:
#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