Option Explicit
#If Win32 Then
'Para 32 bits (VB4 y VB5)
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
#Else
'Para 16 bits (VB4 y VB3)
Private Declare Function GetSystemMenu Lib "user" (ByVal hWnd%, ByVal bRevert%) As Integer
Private Declare Function DeleteMenu Lib "user" (ByVal hMenu%, ByVal iditem%, ByVal wFlags%) As Integer
#End If
'Constantes
Const SC_SIZE = &HF000
Const SC_MOVE = &HF010
Const SC_MINIMIZE = &HF020
Const SC_MAXIMIZE = &HF030
Const SC_CLOSE = &HF060
Const SC_RESTORE = &HF120
Const MF_SEPARATOR = &H800
Const MF_BYPOSITION = &H400
Const MF_BYCOMMAND = &H0
Private Sub MDIForm_Load()
#If Win32 Then
Dim hWnd&, hMenu&, Success&
#Else
Dim hWnd%, hMenu%, Success%
#End If
Dim i%
hWnd = Me.hWnd
hMenu = GetSystemMenu(hWnd, 0)
'Quitar todos (va de 0 a 8)
For i = 8 To 0 Step -1
Success = DeleteMenu(hMenu, i, MF_BYPOSITION)
Next
Exit Sub
'Usa esto para quitar los menús que te interesen:
Success = DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND)
'Success = DeleteMenu(hMenu, SC_MOVE, MF_BYCOMMAND)
Success = DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
Success = DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND)
'Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
'Success = DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND)
End Sub