Function Reference

首页  后退  前进

GUIGetCursorInfo

 

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

 

GUIGetCursorInfo ( [winhandle] )

参数

winhandle

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

返回值

成功:

返回包含光标信息的 5 元素数组:

   $aArray[0] = X 坐标 (水平)

   $aArray[1] = Y 坐标 (垂直)

   $aArray[2] = 鼠标左键按下 (1 为按下, 0 为未按下)

   $aArray[3] = 鼠标右键按下 (1 未按下, 0 为未按下)

   $aArray[4] = 鼠标悬停位置的控件 ID( 0 为没有控件)

失败:

设置 @error 为非 0 值

备注

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

 

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

 

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

 

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

相关

GUICreate, GUIGetMsg

函数示例

#include <GUIConstantsEx.au3>
Global $g_idX = 0, $g_idY = 0
Example()
Func Example()
    HotKeySet("{ESC}", "GetPos")
    GUICreate("Press Esc to Get Pos", 400, 400)
    $g_idX = GUICtrlCreateLabel("0", 10, 10, 50)
    $g_idY = GUICtrlCreateLabel("0", 10, 30, 50)
    GUISetState(@SW_SHOW)
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
    GUIDelete()
EndFunc   ;==>Example
Func GetPos()
    Local $a = GUIGetCursorInfo()
    GUICtrlSetData($g_idX, $a[0])
    GUICtrlSetData($g_idY, $a[1])
EndFunc   ;==>GetPos

----------------------------------------