函数参考


_GUICtrlMenu_GetMenuBarInfo

检索指定菜单栏的信息

#Include <GuiMenu.au3>
_GUICtrlMenu_GetMenuBarInfo($hWnd[, $iItem = 0[, $iObject = 1]])

参数

$hWnd 检索信息的窗口句柄
$iItem [可选参数] 检索项目信息的范围.
如为 0, 函数检索有关菜单本身的信息;如为 1,函数检索有关菜单的第一个项目信息.
$iObject [可选参数] 指定菜单对象:
0 - 与窗口关联的弹出菜单
1 - 与窗口关联的菜单栏
2 - 与窗口关联的系统菜单

返回值

成功: 返回以下格式的数组:
[0] - 矩形的左上角 X 坐标
[1] - 矩形的左上角 Y 坐标
[2] - 矩形的右下角 X 坐标
[3] - 矩形的右下角 Y 坐标
[4] - 菜单栏或弹出菜单的句柄
[5] - 子菜单的句柄
[6] - True, 菜单栏有焦点,否则返回 False
[7] - True, 菜单项有焦点,否则返回 False
失败: 设置@error:

注意/说明

None.

相关

详情参考

在MSDN中搜索


示例/演示


#include <GuiMenu.au3>

_Main()

Func _Main()
    Local $hWnd, $aInfo

    ; 打开记事本
    Run("notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
    $hWnd = WinGetHandle("[CLASS:Notepad]")

    ; Get menu bar info
    $aInfo = _GUICtrlMenu_GetMenuBarInfo($hWnd)
    Writeln("Left ............: " & $aInfo[0])
    Writeln("Top .............: " & $aInfo[1])
    Writeln("Right ...........: " & $aInfo[2])
    Writeln("Bottom ..........: " & $aInfo[3])
    Writeln("Menu handle .....: 0x" & Hex($aInfo[4]))
    Writeln("Submenu Handle ..: 0x" & Hex($aInfo[5]))
    Writeln("Menu bar focused : " & $aInfo[6])
    Writeln("Menu item focused: " & $aInfo[7])

EndFunc   ;==>_Main

; 写入一行文本到记事本
Func Writeln($sText)
    ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CR)
EndFunc   ;==>Writeln