如何获得当前加载的isp文件的路径
本帖最后由 xiaoyingzi 于 2012-8-22 19:38 编辑想通过拖拽lisp到acad窗口的方式来安装自己的工具箱,但如何获得此时这个lisp文件的路径
搜索了一下论坛,有几种方法:
1
(defun GetLspPath()
(setq lsppath
(vl-registry-read
"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\lsp"
(substr
(vl-registry-read
"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\OpenSaveMRU\\lsp"
"MRUList"
)
1
1
)
)
)
(vl-filename-directory lsppath)
)
这种貌似只能针对appload加载的,对拖拽的无效,且在win7下也无效,据说注册表路径不对
方法二
在LSP文件中放置读取LASTPROMPT变量的代码,但对于太深的路径貌似无效
方法三
通过执行 COPYHIST 命令,然后再读取剪切板,然后再找到路径
不知道大家有什么好的方法
xiaoyingzi 发表于 2012-8-22 19:30 static/image/common/back.gif
发现这个用appload加载时,在winxp及win下都有效
(vl-registry-read
(strcat "HKEY_CURRENT_USER\ ...
谢谢 论坛上下载别人的代码改了改,拖入方式加载和APPLOAD方式加载均可以输出目录,并且一样
arx能够读取加载的lisp列表,可以用arx做个函数让lisp调用来获得已加载的lisp程序 还有一种是打开特定的DWG文件
另外推荐使用秋枫大侠的程序制作软件,加上WINRAR自解压EXE可以做出外观挺漂亮的软件 (Last (dos_lisplist T)); Required DosLIB 加个关注! 发现这个用appload加载时,在winxp及win下都有效
(vl-registry-read
(strcat "HKEY_CURRENT_USER\\"
(vlax-product-key)
"\\Profiles\\"
(vla-get-activeprofile (vla-get-profiles (vla-get-preferences (vlax-get-acad-object))))
"\\Dialogs\\Appload"
)
"MainDialog"
) 本帖最后由 xiaoyingzi 于 2012-8-22 19:48 编辑
win7下直接不能用拖拽lisp到cad窗口的方式加载了 关注中,WIN7中没找到好的办法吗? 拖拽lisp到cad窗口的方式加载是否有效??? 你好,正在研究这个问题,请问有没有找到合适的解决办法,谢谢
页:
[1]
2