调用ArcToolBox里的Tool的三种方法
一.用 IArcToolboxExtension获得工具赋给pGPToolCommandHelper2,然后InvokeModal
UID pUid = new UIDClass();
pUid.Value = "esriGeoprocessingUI.ArcToolboxExtension";
IArcToolboxExtension pATBExt = m_application.FindExtensionByCLSID(pUid) as IArcToolboxExtension;
IGPTool pTool = pATBExt.ArcToolbox.GetToolbyNameString("ExportCAD");
IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
pGPToolCommandHelper2.SetTool(pTool);
Boolean pOk;
IGPMessages pGPMessages;
pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);
二.用IWorkspaceFactory 根据工具的文件路径找ToolBoxes,Conversion Tools,然后ExportCAD工具,然后InvokeModal
IWorkspaceFactory pToolboxWorkspaceFactory = new ToolboxWorkspaceFactoryClass();
IToolboxWorkspace pToolboxWorkspace = (IToolboxWorkspace)pToolboxWorkspaceFactory.OpenFromFile(@"D:\ArcGIS\ArcToolbox\Toolboxes", 0);
IGPToolbox toolbox = (IGPToolbox)pToolboxWorkspace.OpenToolbox("Conversion Tools");
IGPTool pTool = toolbox.OpenTool("ExportCAD");
IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
//pGPToolCommandHelper2.SetTool(pTool);
pGPToolCommandHelper2.SetToolByName("Conversion Tools", "ExportCAD");
Boolean pOk;
IGPMessages pGPMessages;
pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);
三. 直接用SetToolByName方法
IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
//pGPToolCommandHelper2.SetTool(pTool);
pGPToolCommandHelper2.SetToolByName("Conversion Tools", "ExportCAD");
Boolean pOk;
IGPMessages pGPMessages;
pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);
调用ArcToolBox里的Tool的三种方法相关推荐
- 详解易语言调用大漠插件注册vip的三种方法
详解易语言调用大漠插件注册vip的三种方法 1.将大漠插件所有命令封装成易语言类模块.(类模块调用法) 2.将大漠插件所有命令封装成Ec模块(EC模块调用法) 3.将大漠插件所有命令封装成易语言支持库 ...
- 前端js调用后端API获取数据的三种方法(2022.7.25)
前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...
- python字典调用_python 字典访问的三种方法
定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: prin ...
- C语言数组初始化的三种方法
C语言中,数组初始化的方式主要有三种: 1.声明时,使用 {0} 初始化: 2.使用memset: 3.用for循环赋值. 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: #define ...
- linux exec 脚本之家,详解Shell脚本中调用另一个Shell脚本的三种方式
主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...
- JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析
JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析 业务分析 初版的问题 解决方案 传统的 for 循环 不使用 for 循环的解决方案 分析 forEach ...
- 在GridView里做单选按钮,总结了三种方法
在GridView里做单选按钮,总结了三种方法 第一种方法:在GridView的模版列里加服务器端控件RadioButton,使用js控制单选 <p>使用模版列里加RadioButton& ...
- Android TextView里直接显示图片的三种方法
方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般如果字体是在图片上重叠的推荐这样写.时间关系,这个不付源码了. 方法二:利用Text ...
- cmd 调用webservice接口_c# 三种方法调用WebService接口
1.引用*.wsdl文件 WebService服务端会提供wsdl文件,客户端通过该文件生成.cs文件以及生成.dll. 注意:若服务端只提供的了URL,在URL后面加上"?wsdl&quo ...
最新文章
- suse 12sp1 oracle 11g r2 时出现错误 调用/sysman/lib/ins_emagent.mk的目标nmo时出错
- 补充前几天测试用到的Linux命令
- HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)
- mysql四种输入_mysql四种事务隔离级别
- pytorch自定义新层demo_从头学pytorch(十一):自定义层
- mybatis3.2.2的一些测试
- 打开和关闭Hadoop,Hbase 命令
- Premiere Pro 2020 安装教程
- java水面倒影效果,Java实现图片倒影代码详解
- NFC模组,开发NFC功能 只要几条指令的事情
- 玫琳凯携手联合国机构推出女性创业加速器计划
- 同事能力比你强怎么办
- linux ubantu snmp服务,ubuntu 20.04 snmp安装配置
- GuLi商城-在线打开pdm文件
- offiice2013全套软件,加破击工具,教程,真是验证过链接:https://pan.baidu.com/s/1Csv4ZXDQyK_cKfpIXwwn6Q 提取码:h7dp 复制这段内容后打
- “链接未来——浦江创新论坛区块链发展专题论坛”继续举行及圆满落幕
- GitLab CI/CD .gitlab-ci.yaml 关键词(十二):条件限定,only ,except,触发规则rules,工作流workflow
- 计算机网络命令dos命令大全,DOS命令大全:Ipconfig命令详解 – itShouce
- python爬虫-爬取boss直聘的职位信息
- 终于来了!“微信小号”全面开放注册!