If GetMenu(窗体名.hWnd) Then
    '菜单栏可见
Else
    '菜单栏不可见
End If
GetMenu VB声明 
Declare Function GetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Long) As Long 
说明 
取得窗口中一个菜单的句柄 
返回值 
Long,依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零 
参数表 
参数 类型及说明 
hwnd Long,窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是MDI子窗口的句柄 

解决方案 »

  1.   

    zyl910(910:分儿,我来了!) 这是判断是否有菜单,而不是是否可见!!!!!!
      

  2.   

    谢谢 
    也就是说,一个菜单不可见,就得不到它的[hMenu]拉?
      

  3.   

    好像是的
    这样应该没问题了:Dim hMenu as longhMenu=GetMenu(窗体名.hWnd)
    If hMenu Then
        If GetMenuItemCount(hMenu) then
            '菜单栏可见
        Else
            '菜单栏不可见
        End if
    Else
        '菜单栏不可见
    End IfGetMenuItemCount VB声明 
    Declare Function GetMenuItemCount Lib "user32" Alias "GetMenuItemCount" (ByVal hMenu As Long) As Long 
    说明 
    返回菜单中条目(菜单项)的数量 
    返回值 
    Long,菜单中的条目数量;-1意味着出错。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hMenu Long,目标菜单的句柄