您的位置:首页 > 其它

cad二次开发程序的绿色安装

2012-12-03 19:34 246 查看
此问题的引入是因为一个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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息