bhwhui 发表于 2010-12-23 08:02:52

请问如何读取 [CLASS:ATL_MCMDIMainFrame] 的菜单,谢谢。

如图所示的菜单如何读取?下面的程序读到的数据不对,谢谢。

#include <GuiMenu.au3>

Opt('MustDeclareVars', 1)

Local $hWnd, $hMain, $hFile

; Open Notepad
;ATL_MCMDIMainFrame

WinActivate("MultiCharts", "")
WinWaitActive("MultiCharts", "")
$hWnd = WinGetHandle("")
If @error Then
        MsgBox(4096, "错误", "不能找到指定窗口")
Else
        $hMain = _GUICtrlMenu_GetMenu($hWnd)
        MsgBox(4096, "提示:hmain:=", $hMain)
        $hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 1)
        MsgBox(4096, "提示:hfile:=", $hFile)
        ; Get Open item state
        ;_GUICtrlMenu_SetItemChecked($hFile, 1)
        MsgBox(0, "提示", "State: " & _GUICtrlMenu_GetItemState($hFile, 2) & "Text:" & _GUICtrlMenu_GetItemText($hFile, 2))
EndIf

bhwhui 发表于 2010-12-23 11:29:48

意思是程序不是标准化的菜单,通过信息工具显示类是“CLASS:ATL_MCMDIMainFrame”,如何判断菜单某项的状态呢?上面的程序读不到 $hmain,后面的更不用说了(不会发图片,不好意思),谢谢。
页: [1]
查看完整版本: 请问如何读取 [CLASS:ATL_MCMDIMainFrame] 的菜单,谢谢。