基 础 函 数 参 考


GUIGetCursorInfo

获取相对于 GUI 窗口的鼠标光标位置.

GUIGetCursorInfo ( [窗口句柄] )

参 数

窗口句柄 [可选参数] 目标窗口句柄. 若省略此参数, 则使用当前窗口.

返 回 值

成功: 返回包含光标信息的 5 元素数组:
$array[0] = X 坐标 (水平)
$array[1] = Y 坐标 (垂直)
$array[2] = 鼠标左键按下 (1 为按下, 0 为未按下)
$array[3] = 鼠标右键按下 (1 未按下, 0 为未按下)
$array[4] = 鼠标悬停位置的控件 ID( 0 为没有控件)
失败: 0, 并设置 @error 为 1

备 注

返回相对于 GUI 窗口的坐标值 (如已知客户端的坐标).

如果 "窗口句柄" 参数被使用, 则指定的窗口成为新的 "当前" 窗口.

获取鼠标光标位置仅适用于由 GUICreate 创建的窗口. 但如果 GUI 窗口处于激活状态, 即使该窗口没有句柄, 函数也会成功.

ListViewItem 或 TreeViewItem 的控件 ID 永远不会被返回, 只能返回父层 Listview 或 TreeView 的控件 ID.

相 关 函 数

GUICreate, GUIGetMsg

函 数 示 例


#include <GUIConstantsEx.au3>

Global $x, $y

Example()

Func Example()
    Local $msg

    HotKeySet("{Esc}", "GetPos")

    GUICreate("点击 Esc 获取 GUI 的鼠标相对坐标", 400, 400)
    $x = GUICtrlCreateLabel("0", 10, 10, 50)
    $y = GUICtrlCreateLabel("0", 10, 30, 50)
    GUISetState()

    ; 运行 GUI, 直到 GUI 被关闭
    Do
        $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

Func GetPos()
    Local $a

    $a = GUIGetCursorInfo()
    GUICtrlSetData($x, $a[0])
    GUICtrlSetData($y, $a[1])
EndFunc   ;==>GetPos

provider with jb51.net (unicode)