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子窗口的句柄
'菜单栏可见
Else
'菜单栏不可见
End If
GetMenu VB声明
Declare Function GetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Long) As Long
说明
取得窗口中一个菜单的句柄
返回值
Long,依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零
参数表
参数 类型及说明
hwnd Long,窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是MDI子窗口的句柄
也就是说,一个菜单不可见,就得不到它的[hMenu]拉?
这样应该没问题了: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,目标菜单的句柄