更改菜单项的信息
#Include <GuiMenu.au3>
_GUICtrlMenu_SetItemInfo($hMenu, $iItem, ByRef $tInfo[, $fByPos = True])
$hMenu | 菜单句柄 |
$iItem | 菜单项的标识符或位置,由 $fByPos 参数决定. |
$tInfo | $tagMENUITEMINFO 结构 |
$fByPos | [可选参数] 菜单识别标志: True - $iItem 为项目的 0 基位置 False - $iItem 为菜单项的标识符 |
成功: | 返回 True |
失败: | 返回 False |
在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