xiaoyingzi 发表于 2012-8-21 10:26:37

如何获得当前加载的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 命令,然后再读取剪切板,然后再找到路径

不知道大家有什么好的方法

davide888 发表于 2013-11-3 16:01:52

xiaoyingzi 发表于 2012-8-22 19:30 static/image/common/back.gif
发现这个用appload加载时,在winxp及win下都有效
(vl-registry-read
       (strcat "HKEY_CURRENT_USER\ ...

谢谢            

yangyangyixia 发表于 2025-1-11 15:26:55

论坛上下载别人的代码改了改,拖入方式加载和APPLOAD方式加载均可以输出目录,并且一样

819534890 发表于 2019-3-20 12:56:36

arx能够读取加载的lisp列表,可以用arx做个函数让lisp调用来获得已加载的lisp程序

革天明 发表于 2012-8-21 10:39:29

还有一种是打开特定的DWG文件
另外推荐使用秋枫大侠的程序制作软件,加上WINRAR自解压EXE可以做出外观挺漂亮的软件

Andyhon 发表于 2012-8-21 10:43:04

(Last (dos_lisplist T)); Required DosLIB

smartstar 发表于 2012-8-21 12:34:04

加个关注!

xiaoyingzi 发表于 2012-8-22 19:30:10

发现这个用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:34:41

本帖最后由 xiaoyingzi 于 2012-8-22 19:48 编辑

win7下直接不能用拖拽lisp到cad窗口的方式加载了

朽木大师 发表于 2013-4-22 09:42:14

关注中,WIN7中没找到好的办法吗?

jyzas 发表于 2013-8-12 07:35:39

拖拽lisp到cad窗口的方式加载是否有效???

illcyt 发表于 2013-9-22 17:57:59

你好,正在研究这个问题,请问有没有找到合适的解决办法,谢谢
页: [1] 2
查看完整版本: 如何获得当前加载的isp文件的路径