llama a esta funcion desde el load del formulario
Private Sub cmdDeshabilitar_Click()
' Deshabilitar el botón de cerrar el formulario
Dim hMenu As Long
'
hMenu = GetSystemMenu(hWND, 0)
' Deshabilitar el menú cerrar del formulario
Call ModifyMenu(hMenu, SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED, -10, "Close")
'
' Si esta llamada se hace dentro del Form_Load,
' no es necesario redibujar los menús
' Redibujar los menús, para que se muestre deshabilitado
Call DrawMenuBar(hWND)
'
End Sub
en las declaraciones:
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hWND As Long, ByVal bRevert As Long) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long, ByVal wIDNewItem As Long, _
ByVal lpString As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" _
(ByVal hWND As Long) As Long
Lo mejor seria que cuando el usuario haga click sobre el boton "X" que corra una secuencia de codigo contame que es lo que queres hacer y depende de lo que necesites te mando un ejemplo a tu correo.
Chau
mauro