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/

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章