请高手帮忙:如何去掉窗体的系统菜单?谢谢!!

解决方案 »

  1.   

    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
      

  2.   


    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
      

  3.   

    上面的代码只保留系统菜单的“移动子菜单”,如果一个都不留或者留别的你可以修改
        If a = 1 Then
            a = 0
        End If
    的条件注释掉就是全部去掉,想留那个就像这个跳过去
      

  4.   

    '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