Function Reference

_GUICtrlMenu_GetItemInfo

メニューアイテムの情報を取得します。

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

 

パラメータ

$hMenu メニューのハンドル
$iItem メニューアイテムの位置または識別子
$fByPos [オプション]メニュー識別子フラグ:
 True - $iItemはゼロ始まりのアイテム位置です
False - $iItemはメニューアイテムの識別子です

 

返し値

Success: $tagMENUITEMINFO構造体
Failure: @errorを設定します。

 

注意

なし。

 

関連

_GUICtrlMenu_SetItemInfo, $tagMENUITEMINFO

 

こちらも参照

MSDNライブラリでGetMenuItemInfoを検索して下さい。

 


#include <GuiMenu.au3>

Opt('MustDeclareVars', 1)

_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)

    ; "開く"コマンドの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

; メモ帳にテキストを1行書き込む
Func Writeln($sText)
    ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CR)
EndFunc   ;==>Writeln