Try this:
Code:Declare Function GetSystemMenu Lib "user32" _ (ByVal hwnd As Long, ByVal bRevert As Long) As Long Declare Function GetMenuItemCount Lib "user32" _ (ByVal hMenu As Long) As Long Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Declare Function RemoveMenu Lib "user32" _ (ByVal hMenu As Long, ByVal nPosition As Long, _ ByVal wFlags As Long) As Long Public Const MF_BYPOSITION = &H400& Public Const MF_REMOVE = &H1000& Form Code Then paste this into the form: Private Sub Form_Load() Dim hSysMenu As Long Dim nCnt As Long ' First, show the form Me.Show ' Get handle to our form's system menu ' (Restore, Maximize, Move, close etc.) hSysMenu = GetSystemMenu(Me.hwnd, False) If hSysMenu Then ' Get System menu's menu count nCnt = GetMenuItemCount(hSysMenu) If nCnt Then ' Menu count is based on 0 (0, 1, 2, 3...) RemoveMenu hSysMenu, nCnt - 1, _ MF_BYPOSITION Or MF_REMOVE RemoveMenu hSysMenu, nCnt - 2, _ MF_BYPOSITION Or MF_REMOVE ' Remove the seperator DrawMenuBar Me.hwnd ' Force caption bar's refresh. Disabling X button Me.Caption = "Try to close me!" End If End If End Sub




Reply With Quote