zoukankan      html  css  js  c++  java
  • arcmap中查找扩展模块和调用扩展模块

    private void ExtensionList(IApplication application)
    {
        List < string > loadedExtensions = new List < string > ();
        List < string > unloadedExtensions = new List < string > ();
    
        //All extensions returned by extension manager have been loaded at startup.
        IExtensionManager regularExtManager = application as IExtensionManager;
        for (int i = 0; i < regularExtManager.ExtensionCount; i++)
        {
            IExtension ext = regularExtManager.get_Extension(i);
            loadedExtensions.Add(ext.Name);
        }
    
        //Use IsLoaded to test if a JIT extension has already been loaded by request.
        IJITExtensionManager jitExtManager = application as IJITExtensionManager;
        for (int i = 0; i < jitExtManager.JITExtensionCount; i++)
        {
            UID extID = jitExtManager.get_JITExtensionCLSID(i);
            if (jitExtManager.IsLoaded(extID))
            {
                IExtension ext = application.FindExtensionByCLSID(extID);
                loadedExtensions.Add(ext.Name);
            }
            else
            //Just show the extension ID.
            {
                unloadedExtensions.Add(extID.Value.ToString());
            }
        }
    
        //Print extension information.
        Console.WriteLine("Extensions loaded in Application:");
        foreach (string ext in loadedExtensions)
            Console.WriteLine("\t" + ext);
        Console.WriteLine("CLSID of extensions haven't been loaded yet:");
        foreach (string extID in unloadedExtensions)
            Console.WriteLine("\t" + extID);
    }

    调用

    private void GetEditorExtension(IApplication application)
    {
        //Find extension by CLSID or ProgId.
        UID extensionID = new UIDClass();
        extensionID.Value = "esriEditor.Editor"; 
            //{F8842F20-BB23-11D0-802B-0000F8037368}.
        IExtension editExtension = application.FindExtensionByCLSID(extensionID);
    }
  • 相关阅读:
    C++ 指针 new delete int*与string
    61.Android适配的那些P事(转)
    60.Android通用流行框架大全
    Android Studio配置指南总结
    大数据学习资源(下)
    大数据学习资源(上)
    59.Android开源项目及库 (转)
    Linux 简介
    7款应用最广泛的Linux桌面环境盘点
    58. Android一些开发习惯总结
  • 原文地址:https://www.cnblogs.com/gisoracle/p/2303106.html
Copyright © 2011-2022 走看看