Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub RemoveItem(ByVal Hwnd As Long)Dim hMenu As Long Dim a As IntegerhMenu = GetSystemMenu(Hwnd, 0)For a = 6 To 0 Step -1 If a = 1 Then a = 0 End If RemoveMenu hMenu, a, MF_BYPOSITIONNextEnd SubPrivate Sub Command1_Click() End End SubPrivate Sub Form_Load() RemoveItem (Form1.Hwnd) End Sub
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub RemoveItem(ByVal Hwnd As Long)Dim hMenu As Long Dim a As IntegerhMenu = GetSystemMenu(Hwnd, 0)For a = 6 To 0 Step -1 If a = 1 Then a = 0 End If RemoveMenu hMenu, a, MF_BYPOSITIONNextEnd SubPrivate Sub Command1_Click() End End SubPrivate Sub Form_Load() RemoveItem (Form1.Hwnd) End Sub
上面的代码只保留系统菜单的“移动子菜单”,如果一个都不留或者留别的你可以修改 If a = 1 Then a = 0 End If 的条件注释掉就是全部去掉,想留那个就像这个跳过去
'http://www.csdn.net/develop/read_article.asp?id=18774 Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Const MF_BYPOSITION = &H400& Private Const MF_REMOVE = &H1000& Private Const SC_CLOSE = &HF060 Private Const SC_MAXIMIZE = &HF030 Private Const SC_MINIMIZE = &HF020 Private Const WS_EX_TOOLWINDOW = &H80& Private Const GWL_EXSTYLE = (-20) Private Const SWP_FRAMECHANGED = &H20 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOZORDER = &H4 Private Const SWP_NOSIZE = &H1Private Sub Form_Load() RemoveMenu GetSystemMenu(hwnd, 0), SC_CLOSE, MF_REMOVE RemoveMenu GetSystemMenu(hwnd, 0), SC_MAXIMIZE, MF_REMOVE RemoveMenu GetSystemMenu(hwnd, 0), SC_MINIMIZE, MF_REMOVEEnd Sub
Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub RemoveItem(ByVal Hwnd As Long)Dim hMenu As Long
Dim a As IntegerhMenu = GetSystemMenu(Hwnd, 0)For a = 6 To 0 Step -1
If a = 1 Then
a = 0
End If RemoveMenu hMenu, a, MF_BYPOSITIONNextEnd SubPrivate Sub Command1_Click()
End
End SubPrivate Sub Form_Load()
RemoveItem (Form1.Hwnd)
End Sub
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub RemoveItem(ByVal Hwnd As Long)Dim hMenu As Long
Dim a As IntegerhMenu = GetSystemMenu(Hwnd, 0)For a = 6 To 0 Step -1
If a = 1 Then
a = 0
End If RemoveMenu hMenu, a, MF_BYPOSITIONNextEnd SubPrivate Sub Command1_Click()
End
End SubPrivate Sub Form_Load()
RemoveItem (Form1.Hwnd)
End Sub
If a = 1 Then
a = 0
End If
的条件注释掉就是全部去掉,想留那个就像这个跳过去
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
Private Const SC_CLOSE = &HF060
Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF020
Private Const WS_EX_TOOLWINDOW = &H80&
Private Const GWL_EXSTYLE = (-20)
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOSIZE = &H1Private Sub Form_Load()
RemoveMenu GetSystemMenu(hwnd, 0), SC_CLOSE, MF_REMOVE RemoveMenu GetSystemMenu(hwnd, 0), SC_MAXIMIZE, MF_REMOVE RemoveMenu GetSystemMenu(hwnd, 0), SC_MINIMIZE, MF_REMOVEEnd Sub