removemenu 的菜单怎么恢复

removemenu 的菜单如何恢复
我用vb api 的 RemoveMenu 屏蔽了 GetSystemMenu 的关闭按钮。
请问如何恢复?
假定窗口句柄为Hwnd1,Hwnd=GetSystemMenu(Hwnd1)
图片:removemenu 的菜单怎么恢复
------解决方案--------------------
InsertMenu吧,不过不记得这菜单的id是不固定的了,保险的话最好删之前保存下id.
------解决方案--------------------
RemoveMenu之前记录下Menu的Handle
AppendMenu再添加上去。
------解决方案--------------------
我记得GetSystemMenu第二个参数如果是1的话会恢复的,楼主你试试
http://baike.baidu.com/view/1080133.htm
------解决方案--------------------
引用:
我记得GetSystemMenu第二个参数如果是1的话会恢复的,楼主你试试
http://baike.baidu.com/view/1080133.htm

GetSystemMenu
The GetSystemMenu function allows the application to access the window menu (also known as the system menu or the control menu) for copying and modifying. 

HMENU GetSystemMenu(
  HWND hWnd,    // handle to window to own window menu
  BOOL bRevert  // reset flag
);
 
Parameters
hWnd 
Handle to the window that will own a copy of the window menu. 
bRevert 
Specifies the action to be taken. If this parameter is FALSE, GetSystemMenu returns the handle to the copy of the window menu currently in use. The copy is initially identical to the window menu, but it can be modified. 
If this parameter is TRUE, GetSystemMenu resets the window menu back to the default state. The previous window menu, if any, is destroyed. 

Return Values
If the bRevert parameter is FALSE, the return value is the handle to a copy of the window menu. If the bRevert parameter is TRUE, the return value is NULL. 

Remarks
Any window that does not use the GetSystemMenu function to make its own copy of the window menu receives the standard window menu. 

The window menu initially contains items with various identifier values, such as SC_CLOSE, SC_MOVE, and SC_SIZE. 

Menu items on the window menu send WM_SYSCOMMAND messages. 

All predefined window menu items have identifier numbers greater than 0xF000. If an application adds commands to the window menu, it should use identifier numbers less than 0xF000. 

The system automatically grays items on the standard window menu, depending on the situation. The application can perform its own checking or graying by responding to the WM_INITMENU message that is sent before any menu is displayed. 

Windows CE: Windows CE does not support a system menu, but GetSystemMenu is implemented as a macro to maintain compatibility with existing code. You can use the menu handle returned by this macro to disable the close box the same way you would in a Windows desktop platform. There is no other use for the return value in Windows CE. The brevert parameter is ignored. Use the following code to disable the Close button:

EnableMenuItem (GetSystemMenu(hwnd, FALSE), SC_CLOSE,MF_BYCOMMAND 
------解决方案--------------------
 MF_GRAYED);
QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.

See Also
Menus Overview, Menu Functions, GetMenu, WM_INITMENU, WM_SYSCOMMAND