函数参考


_GUICtrlMenu_SetItemInfo

更改菜单项的信息

#Include <GuiMenu.au3>
_GUICtrlMenu_SetItemInfo($hMenu, $iItem, ByRef $tInfo[, $fByPos = True])

参数

$hMenu 菜单句柄
$iItem 菜单项的标识符或位置,由 $fByPos 参数决定.
$tInfo $tagMENUITEMINFO 结构
$fByPos [可选参数] 菜单识别标志:
True - $iItem 为项目的 0 基位置
False - $iItem 为菜单项的标识符

返回值

成功: 返回 True
失败: 返回 False

注意/说明

None.

相关

_GUICtrlMenu_GetItemInfo, $tagMENUITEMINFO

详情参考

在MSDN中搜索


示例/演示


#include <GuiMenu.au3>

_Main()

Func _Main()
    Local $hWnd, $hMain, $hFile, $tInfo

    ; 打开记事本
    Run("notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
    $hWnd = WinGetHandle("[CLASS:Notepad]")
    $hMain = _GUICtrlMenu_GetMenu($hWnd)
    $hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 0)

    ; Get/Set Open command ID
    $tInfo = _GUICtrlMenu_GetItemInfo($hFile, 1)
    Writeln("Open command ID: " & DllStructGetData($tInfo, "ID"))
    DllStructSetData($tInfo, "ID", 0)
    _GUICtrlMenu_SetItemInfo($hFile, 1, $tInfo)
    $tInfo = _GUICtrlMenu_GetItemInfo($hFile, 1)
    Writeln("Open command ID: " & DllStructGetData($tInfo, "ID"))

EndFunc   ;==>_Main

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