Mira este pequeño ejemplo:
Private Sub Command2_Click()
Command1.Enabled = False
SaveSetting "ejemplo", "boton", "habilitado", "0"
End Sub
Private Sub Command3_Click()
Command1.Enabled = True
SaveSetting "ejemplo", "boton", "habilitado", "1"
End Sub
Private Sub Form_Load()
If GetSetting("ejemplo", "boton", "habilitado") = "0" Then
Command1.Enabled = False
End If
End Sub
SaveSetting guarda un valor en el registro del sistema.
GetSetting retorna valores del registro del sistema.
Command2 deshabilita el botón
Command3 habilita el botón
Para deshabilitar el botón cada vez que se inicia la aplicación retornamos el valor en el registro de la clave habilitado, y si es igual a cero (Que anteriormente se definió con command2) entonces el botón quedará inhabilitado)
Saludos