Lt Dan's l 发表于 2022-7-6 09:04:07

有没有办法删除所有内容。

我要换成阿卡多克。加载LISP的lsp方法。我开始对启动套件有问题(无法加载其中的所有Lisp)。有没有办法删除所有内容。通过lisp从startupsuite获得lsp?在帮助文件中找不到运气。。

Guest kruuger 发表于 2022-7-6 09:09:00

我不是百分之百确定,但你可以尝试清理这条路。
k

Lee Mac 发表于 2022-7-6 09:11:24

找到了克鲁格
 
在代码中,该路径为:
(strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar 'CPROFILE) "\\Dialogs\\Appload\\Startup")
 
但是,以这种方式直接修改注册表时要小心,也不要删除“NumStartup”键。

Lt Dan's l 发表于 2022-7-6 09:15:59

这样地??
 
(
(lambda ( ext )
   (foreach x (vl-registry-descendents ext "")
   (and (not (eq (strcase x) "NUMSTARTUP"))
       (vl-registry-delete extx)
   )
   )
)
(strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar 'CPROFILE) "\\Dialogs\\Appload\\Startup")
)
 
 
__编辑__
这不是。。。

irneb 发表于 2022-7-6 09:18:38

你可以试试这样的吗
(vl-load-com)

(defun MoveStartup2ACadDoc (/ f key val)
(if (or (and (setq f (findfile "acaddoc.lsp"))
            (setq f (open f "a"))
         )
         (and (setq f (getenv "ACAD"))
            (setq f (substr f 1 (vl-string-search ";" f)))
            (or (wcmatch f "*\\")
                  (setq f (strcat f "\\"))
            )
            (setq f (strcat f "acaddoc.lsp"))
            (setq f (open f "w"))
         )
   )
   (progn
   (foreach val (vl-registry-descendents
                  (setq key (strcat "HKEY_CURRENT_USER\\"
                                    (vlax-product-key)
                                    "\\Profiles\\"
                                    (getvar 'CPROFILE)
                                    "\\Dialogs\\Appload\\Startup"
                              )
                  )
                  "*"
                  )
       (cond
         ((eq val "NumStartup") (vl-registry-write key val "0"))
         ((wcmatch val "*Startup")
          (write-line (strcat "(load \"" (vl-registry-read key val) "\" nil)") f)
          (vl-registry-delete key val)
         )
       )
   )
   (close f)
   )
)
)

Lt Dan's l 发表于 2022-7-6 09:21:26

谢谢你的回复
上面的代码返回LISP,但不会将其从启动套件中删除。
 
发现了一些东西


   (foreach val (vl-registry-descendents
                  (setq key (strcat "HKEY_CURRENT_USER\\"
                                    (vlax-product-key)
                                    "\\Profiles\\"
                                    (getvar 'CPROFILE)
                                    "\\Dialogs\\Appload\\Startup"
                              )
                  )
                         "*"

Lee Mac 发表于 2022-7-6 09:23:20

修改注册表后,可能需要重新启动AutoCAD。

Lt Dan's l 发表于 2022-7-6 09:26:59

 
那不起作用。。。嗯
 
 
__编辑__
 
Irneb你的Lisp程序把Lisp程序写进了阿卡多克。lsp,但它没有从启动套件中删除它们

irneb 发表于 2022-7-6 09:31:15

是的,谢谢,在我的帖子中更正了。 
奇怪的是,它基本上应该读取所有这些值,将NumStartup修改为0,并将所有LSP文件写入acaddoc。lsp作为load语句,然后删除注册表值。
 
您肯定需要重新启动ACad,当从“正常”方法以外的其他方法更改时,它通常不会更新其设置。

Lt Dan's l 发表于 2022-7-6 09:33:25

还有人测试Irneb的Lisp程序吗?也许我做错了什么。。
 
 
__编辑__
 
发现了另一件事Irneb。
 
Lisp程序写下阿卡多克。lsp
(加载“C:\lisp1.lsp”nil)
 
应该是这样的
(加载“C:\\lisp1.lsp”nil)
页: [1] 2
查看完整版本: 有没有办法删除所有内容。