Display the state of the specified ArcGIS extension on the status bar when a CLSID or ProgID is supplied.
[C#]
///<summary>Display the state of the specified ArcGIS extension on the status bar when a CLSID or ProgID is supplied.</summary> /// ///<param name="application">An IApplication interface.</param> ///<param name="extensionName">A System.String that is the CLSID or ProgID for the ArcGIS extension to be returned. Example: "{3C5059FE-9F15-401A-94ED-EED914D73E3E}" or "esriSpatialAnalystUI.SAExtension"</param> /// ///<remarks>A listing of available ArcGIS extensions CLSID and ProgID values can be found at: http://edndoc.esri.com/arcobjects/9.1/default.asp?URL=/arcobjects/9.1/ArcGISDevHelp/TechnicalDocuments/Guids/ESRIExtIds.htm</remarks> public void DisplayExtensionStateOnStatusBar(ESRI.ArcGIS.Framework.IApplication application, System.String extensionName) { ESRI.ArcGIS.esriSystem.UID uid = new ESRI.ArcGIS.esriSystem.UIDClass(); uid.Value = extensionName; // example: "esriPublisherUI.Publisher" ESRI.ArcGIS.esriSystem.esriExtensionState extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESUnavailable; ESRI.ArcGIS.esriSystem.IExtensionManager extensionManager = application as ESRI.ArcGIS.esriSystem.IExtensionManager; // dynamic cast ESRI.ArcGIS.esriSystem.IExtension extension = extensionManager.FindExtension(uid); if (extension != null) { if (extension is ESRI.ArcGIS.esriSystem.IExtensionConfig) { ESRI.ArcGIS.esriSystem.IExtensionConfig extensionConfig = (ESRI.ArcGIS.esriSystem.IExtensionConfig)extension; // explicit cast extensionState = extensionConfig.State; } else extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled; } else { ESRI.ArcGIS.esriSystem.IJITExtensionManager jitExtensionManager = application as ESRI.ArcGIS.esriSystem.IJITExtensionManager; // dynamic cast if (jitExtensionManager.IsLoaded(uid)) { ESRI.ArcGIS.esriSystem.IExtension jitExtension = application.FindExtensionByCLSID(uid); if (jitExtension is ESRI.ArcGIS.esriSystem.IExtensionConfig) { ESRI.ArcGIS.esriSystem.IExtensionConfig jitExtensionConfig = (ESRI.ArcGIS.esriSystem.IExtensionConfig)jitExtension; // explicit cast extensionState = jitExtensionConfig.State; } else { extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled; } } else { for (int i = 0; i < jitExtensionManager.JITExtensionCount; i++) { if (jitExtensionManager.get_JITExtensionCLSID(i).Compare(uid)) { if (jitExtensionManager.IsExtensionEnabled(uid)) { extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled; } else { extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESDisabled; } break; } } } } if (extensionState == ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled) { application.StatusBar.set_Message(0, "Extension is enabled"); } else if (extensionState == ESRI.ArcGIS.esriSystem.esriExtensionState.esriESDisabled) { application.StatusBar.set_Message(0, "Extension is disabled"); } else if (extensionState == ESRI.ArcGIS.esriSystem.esriExtensionState.esriESUnavailable) { application.StatusBar.set_Message(0, "Extension is unavailable"); } else { application.StatusBar.set_Message(0, "Extension state is unknown."); } }
[Visual Basic .NET]
'''<summary>Display the state of the specified ArcGIS extension on the status bar when a CLSID or ProgID is supplied.</summary> ''' '''<param name="application">An IApplication interface.</param> '''<param name="extensionName">A System.String that is the CLSID or ProgID for the ArcGIS extension to be returned. Example: "{3C5059FE-9F15-401A-94ED-EED914D73E3E}" or "esriSpatialAnalystUI.SAExtension"</param> ''' '''<remarks>A listing of available ArcGIS extensions CLSID and ProgID values can be found at: http://edndoc.esri.com/arcobjects/9.1/default.asp?URL=/arcobjects/9.1/ArcGISDevHelp/TechnicalDocuments/Guids/ESRIExtIds.htm</remarks> Public Sub DisplayExtensionStateOnStatusBar(ByVal application As ESRI.ArcGIS.Framework.IApplication, ByVal extensionName As System.String) Dim uid As ESRI.ArcGIS.esriSystem.UID = New ESRI.ArcGIS.esriSystem.UIDClass ' example: "esriPublisherUI.Publisher" UID.Value = extensionName Dim extensionState As ESRI.ArcGIS.esriSystem.esriExtensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESUnavailable Dim extensionManager As ESRI.ArcGIS.esriSystem.IExtensionManager = CType(application, ESRI.ArcGIS.esriSystem.IExtensionManager) ' Explicit Cast Dim extension As ESRI.ArcGIS.esriSystem.IExtension = extensionManager.FindExtension(UID) If Not (extension Is Nothing) Then If TypeOf extension Is ESRI.ArcGIS.esriSystem.IExtensionConfig Then Dim extensionConfig As ESRI.ArcGIS.esriSystem.IExtensionConfig = CType(extension, ESRI.ArcGIS.esriSystem.IExtensionConfig) ' Explicit Cast extensionState = extensionConfig.State Else extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled End If Else Dim jitExtensionManager As ESRI.ArcGIS.esriSystem.IJITExtensionManager = CType(application, ESRI.ArcGIS.esriSystem.IJITExtensionManager) ' Explicit Cast If jitExtensionManager.IsLoaded(UID) Then Dim jitExtension As ESRI.ArcGIS.esriSystem.IExtension = application.FindExtensionByCLSID(UID) If TypeOf jitExtension Is ESRI.ArcGIS.esriSystem.IExtensionConfig Then Dim jitExtensionConfig As ESRI.ArcGIS.esriSystem.IExtensionConfig = CType(jitExtension, ESRI.ArcGIS.esriSystem.IExtensionConfig) ' Explicit Cast extensionState = jitExtensionConfig.State Else extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled End If Else Dim i As Integer = 0 For i = 0 To jitExtensionManager.JITExtensionCount - 1 If jitExtensionManager.JITExtensionCLSID(i).Compare(UID) Then If jitExtensionManager.IsExtensionEnabled(UID) Then extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled Else extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESDisabled End If End If Next i End If End If If extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESEnabled Then application.StatusBar.Message(0) = "Extension is enabled" Else If extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESDisabled Then application.StatusBar.Message(0) = "Extension is disabled" Else If extensionState = ESRI.ArcGIS.esriSystem.esriExtensionState.esriESUnavailable Then application.StatusBar.Message(0) = "Extension is unavailable" Else application.StatusBar.Message(0) = "Extension state is unknown" End If End If End If End Sub