返回介绍

MouseGetPos

发布于 2020-11-08 02:38:00 字数 2026 浏览 1632 评论 0 收藏 0

获取鼠标光标的当前位置以及鼠标当前悬停的窗口和控件(可选的)。

MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]

参数

OutputVarX/Y

用来保存 X 和 Y 坐标的变量名. 获取的坐标相对于活动窗口, 除非曾使用 CoordMode 改变成屏幕坐标.

OutputVarWin

这个可选的参数是用来保存鼠标光标下窗口的 唯一 ID 号 的变量名. 如果无法检测到此窗口, 则此变量被置空.

即使窗口不处于活动状态, 也能检测到它的信息. 无法检测到隐藏窗口.

OutputVarControl

这个可选的参数是用来保存鼠标光标下控件的类名 (ClassNN) 的变量名. 如果无法检测到此控件, 则此变量被置空.

这里控件的名称应该总是和随 v1.0.14+ 一起发布的 Window Spy 中显示的相同 (但可能和旧版 Window Spy 显示的不同). 然而, 与 Window Spy 不同的是, 即使鼠标光标下的窗口不处于活动状态, 也能检测到其中控件的信息.

1|2|3

如果省略, 则它默认为 0. 否则, 请指定下列数字的其中一个:

1: 使用更简单的方法来获取 OutputVarControl. 这种方法可以正确获取多文档界面 (MDI) 应用程序 (例如 SysEdit 或 TextPad) 的活动/顶级子窗口的信息. 不过, 对于其他的情况 (例如获取 GroupBox 控件中的控件) 就没有那么准确了.

2 [v1.0.43.06+]: 把 控件的 HWND 保存到 OutputVarControl 而不是控件的 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文