See the functions below:Public Const Guid_SpatialAnalyst As String = "{3C5059FE-9F15-401A-94ED-EED914D73E3E}"
Public Shared Function IsSpatialAnalystAvailable(ByVal application As IApplication) As Boolean
Dim uid As New UID
uid.Value = Guid_SpatialAnalyst
Dim extension As IExtension = application.FindExtensionByCLSID(uid)
Dim extensionConfig As IExtensionConfig = DirectCast(extension, IExtensionConfig)
Return (extensionConfig.State <> esriExtensionState.esriESUnavailable)
End Function
Public Shared Function IsSpatialAnalystEnabled(ByVal application As IApplication) As Boolean
Dim uid As New UID
uid.Value = Guid_SpatialAnalyst
Dim extension As IExtension = application.FindExtensionByCLSID(uid)
Dim extensionConfig As IExtensionConfig = DirectCast(extension, IExtensionConfig)
Return (extensionConfig.State = esriExtensionState.esriESEnabled)
End Function
Public Shared Function EnableSpatialAnalyst(ByVal application As IApplication) As Boolean
Dim uid As New UID
uid.Value = Guid_SpatialAnalyst
Dim extension As IExtension = application.FindExtensionByCLSID(uid)
Dim extensionConfig As IExtensionConfig = DirectCast(extension, IExtensionConfig)
If extensionConfig.State = esriExtensionState.esriESUnavailable Then Return False
If extensionConfig.State = esriExtensionState.esriESEnabled Then Return True
extensionConfig.State = esriExtensionState.esriESEnabled
Return True
End Function
Public Shared Function DisableSpatialAnalyst(ByVal application As IApplication) As Boolean
Dim uid As New UID
uid.Value = Guid_SpatialAnalyst
Dim extension As IExtension = application.FindExtensionByCLSID(uid)
Dim extensionConfig As IExtensionConfig = DirectCast(extension, IExtensionConfig)
If extensionConfig.State = esriExtensionState.esriESUnavailable Then Return False
If extensionConfig.State = esriExtensionState.esriESDisabled Then Return True
extensionConfig.State = esriExtensionState.esriESDisabled
Return True
End Function