cad二次开发程序的绿色安装
此问题的引入是因为一个cad二次开发软件,客户要求做成绿色安装。何为绿色安装呢?软件包copy到一台电脑上(已安装CAD),双击exe,打开的界面包含自定义的菜单、菜单的图标能正确显示、每个功能能使用、能使用自定义的字体、线型、图块、图形模板。
包含以下工作:
(1)搜索当前电脑已安装的cad版本,指定待打开版本
(2)新定义配置名或添加到已有的配置中
(3)添加支持路径<保证自定义菜单图标显示,打开的图能自动搜索到字体、线型>
(4)启动对应版本自定义的arx<保证功能使用>
(5)添加自定义菜单<保证菜单显示>
下面是修改注册表实现的方法:
cad版本信息:[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\]
指定版本缺省打开配置:[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R16.0\ACAD-201:804\Profiles] @=" 缺省配置"
支持路径:[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R16.0\ACAD-201:804\Profiles\<<配置>>\General] "ACAD"="......"
......
arx自动加载:acad.rx文件
自定义菜单的显示着实折磨了我好久,方法也想了很多,纠结阿纠结阿:
(1)写入注册表法,不知啥原因,反正菜单没显示出来
(2)在arx程序加载时acedCommand调用命令,cad完全打开后手动加载arx菜单是显示了,不过我们的目的是cad启动时加载命令,亦失败了
(3)lisp程序加载命令,因此我写了个加载命令的acaddoc.lsp放在搜索路径下,菜单是能显示了可是和杀毒软件不友好,总是被杀毒软件杀了~~~~
(4)经历了总总无奈后纠结地继续探索,此处特别鸣谢北京易楼的网友,在他的推荐下我看了“免费工具 [易楼AutoCAD插件管理器20110323版]”,贴上关键函数
#if _MSC_VER < 1500 // MFC 8.0 or earlier
extern "C" Acad::ErrorStatus ads_queueexpr(const TCHAR* lisp_expr );
#endif
ps
:早期版本需导出此函数
问题终于解决,写下此文纪念走过的路。
参考文章:
CAD启动时自动加载程序的研究http://hi.baidu.com/zzdiqarealqsuxr/item/9a607e908068008659146109
易楼AutoCAD插件管理器20110323版http://www.easylou.com/
转载于:https://blog.51cto.com/shixx/1077538
cad二次开发程序的绿色安装相关推荐
- 我的CAD二次开发程序中的操作excel的部分
这是我的CAD二次开发程序中的操作excel的部分,特此分享 using System; using System.Collections.Generic; using System.Text; us ...
- cad自动运行dvb lisp_CAD二次开发程序的自动加载与使用
常见的CAD二次开发程序有dvb.vlx.fas.lsp.arx和dll.在CAD中加载这几种程序之前,需要知道程序内部包括的命令,否则你加载完成了用不了. 在CAD命令窗口中输入"appl ...
- cad 二次开发 插入图片_CAD如何加载二次开发程序?
CAD给我们设计师提供了众多的绘图修改命令,满足了我们一般的绘图应用,但是有时候这些命令应用起来有时候并不太方便,为了使我们的绘图命令更加方便快捷,有时候我们需要加载二次开发程序;例如:lisp.VB ...
- C# Cad二次开发新手入门系列教程(二)Line对象
目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...
- CAD二次开发--像纬地与CASS程序一样双击桌面图标实现插件的自动挂载(不用netload也不用进入后输入挂载命令)
先说一下我为什么要写这个文章,首先这一块我自己研究并查找了很久,始终没有很好的办法.二是网络上很多办法鱼龙混杂,要不很复杂,要不现在就已经过时了,总之不能解决问题.干脆自己写一下,防止遗忘! 要明白C ...
- lisp陡坎程序_(终稿)毕业论文设计_Autolisp在CAD二次开发中的应用.doc(最终版)最新版...
<毕业论文:Autolisp在CAD二次开发中的应用.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)毕业论文设计_Autolisp在CAD二次开发中的应用.doc(最终版) ...
- cad二次开发——自动运行dll,加载菜单(收集)
1.自动加载dll的方法(个人觉得下面第4个方法会更方便) cad加载dll_实现CAD插件启动自动加载的三种方法_weixin_39774556的博客-CSDN博客从网上或者别处淘来的CAD插件,效 ...
- Delphi进行CAD二次开发教学(1)——基础学习:运行、新建、打开图形文件
http://hi.baidu.com/piaoliuxia/blog/item/d61e03faed3bd18c9f514670.html 查看文章 [原创]Delphi进行CAD二次开发教学( ...
- 常用的CAD二次开发语言:AutoLISP, LISP是List Processor(表处理程序)的缩写,cad系统的第一代开发工具注意和eclipse(IDE编程环境,java实现的)
常用的CAD二次开发语言: 1 AutoLISP 全名是LIST Processing Language,LISP是List Processor(表处理程序)的缩写,cad系统的第一代开发工具,是一种 ...
最新文章
- 一个高效、快速、稳定的PHP日志扩展。
- em算法详细例子及推导_EM算法详解(例子+推导)
- 分享:嵌入式Linux入门学习指导
- 没有安装hiredis
- Java学习第1天:序言,基础及配置tomcat
- 折线图设置圆点_Seaborn可视化 折线图seaborn.lineplot
- 1.8 为什么是人的表现
- 类成员与方法访问控制从严
- 祝微软北京.net俱乐部徐磊生日快乐
- DataGrip 格式化SQL 自定义SQL格式化
- JasperReport 默认打印机打印/指定打印机打印
- MySQL视图创建与管理(实验五)
- Echarts 实现环状半圆形饼图
- 影响国债收益率的因素
- 谈论bringup我们到底在谈论什么?
- Newline required at end of file but not found
- 软考高级考试中有五大证书,哪个更值得考?
- 微生物组学测序十大错误认知
- 中电信CDMA战略 CDMA+WiFi成杀手锏
- 怎么开发一款应用程序?
热门文章
- Docker容器实现原理及容器隔离性踩坑介绍
- VC++ 结束线程 AfxBeginThread AfxEndThread
- MongoDB 聚合管道(Aggregation Pipeline)
- RHEL6入门系列之三十一,管理计划任务
- 关于滑动窗口的小小小tip
- 连续型切片与离散加减的思路学习
- 低字节+高字节+字地址+大端序+小端序全辨析
- 0% [正在连接 cn.archive.ubuntu.com (2001:67c:1562::19)]关于其连接不上的问题:
- python : os.path 相关操作
- 计算机网络课堂笔记3.29