这个我会稍后写个教程解释一下。 我先贴一段例程,这段你可以参考修改后加到启动时自动加载的文件中去。
;; 取得本安装程序的路径
;; AppID即为本次安装所使用的ID
(defun GetApplicationPath (AppID)
(vl-registry-read
(strcat
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
AppID
"_is1"
)
"Inno Setup: App Path"
)
);;;AddSupportPath
;;;添加文件夹到AutoCAD支持搜索路径中的指定位置
;;;参数
;;;文件夹路径及插入的位置(0时插入前端)
;;;示例
;;;(addSupportPath "c:\\myFolder" 2)
;;;注意
;;;位置参数为空时将文件夹添加到路径最后。位置参数为0时将文件夹添加到路径最前端。
(defun addSupportPath (dir pos / tmp c)
(setq tmp ""
c -1
)
(if (not pos)
(setq tmp (strcat (getenv "ACAD") ";" dir))
(mapcar '(lambda (x)
(setq tmp (if (= (setq c (1+ c)) pos)
(strcat tmp ";" dir ";" x)
(strcat tmp ";" x)
)
)
)
(parse (getenv "ACAD") ";")
)
)
(setenv "ACAD" tmp)
(princ)
);;;removeSupportPath
;;;从AutoCAD支持搜索路径中移去指定文件夹
;;;参数
;;;所要移去的文件夹
;;;示例
;;;(removeSupportPath "c:\myFolder")
(defun removeSupportPath (dir / tmp)
(setq tmp "")
(mapcar '(lambda (x)
(if (/= (strcase x) (strcase dir))
(setq tmp (strcat tmp x ";"))
)
)
(parse (getenv "ACAD"))
)
(setenv "ACAD" (substr tmp 1 (1- (strlen tmp))))
(princ)
);; 加载菜单样例:
(defun AddDemoMenu ()
(if (menugroup "DemoMenu") ; 菜单组名为DemoMenu, 已经加载
(progn
(command "_menuunload" "DemoMenu")
(command "_menuload" "DemoMenu.mnu")
(menucmd "p8=+DemoMenu.pop1")
(menucmd "p9=+DemoMenu.pop2")
(menucmd "p10=+DemoMenu.pop3")
(princ "\n DemoMenu 菜单载入.")
)
(progn
(command "_menuload" "DemoMenu.mnu")
(menucmd "p8=+DemoMenu.pop1") ; 插在第8个位子
(menucmd "p9=+DemoMenu.pop2") ; 插在第8个位子
(menucmd "p10=+DemoMenu.pop3") ; 插在第10个位子
(princ "\n DemoMenu 菜单载入.")
)
)
)