有没有办法删除所有内容。
我要换成阿卡多克。加载LISP的lsp方法。我开始对启动套件有问题(无法加载其中的所有Lisp)。有没有办法删除所有内容。通过lisp从startupsuite获得lsp?在帮助文件中找不到运气。。 我不是百分之百确定,但你可以尝试清理这条路。k
找到了克鲁格
在代码中,该路径为:
(strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar 'CPROFILE) "\\Dialogs\\Appload\\Startup")
但是,以这种方式直接修改注册表时要小心,也不要删除“NumStartup”键。 这样地??
(
(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")
)
__编辑__
这不是。。。 你可以试试这样的吗
(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)
)
)
) 谢谢你的回复
上面的代码返回LISP,但不会将其从启动套件中删除。
发现了一些东西
(foreach val (vl-registry-descendents
(setq key (strcat "HKEY_CURRENT_USER\\"
(vlax-product-key)
"\\Profiles\\"
(getvar 'CPROFILE)
"\\Dialogs\\Appload\\Startup"
)
)
"*"
修改注册表后,可能需要重新启动AutoCAD。
那不起作用。。。嗯
__编辑__
Irneb你的Lisp程序把Lisp程序写进了阿卡多克。lsp,但它没有从启动套件中删除它们 是的,谢谢,在我的帖子中更正了。
奇怪的是,它基本上应该读取所有这些值,将NumStartup修改为0,并将所有LSP文件写入acaddoc。lsp作为load语句,然后删除注册表值。
您肯定需要重新启动ACad,当从“正常”方法以外的其他方法更改时,它通常不会更新其设置。 还有人测试Irneb的Lisp程序吗?也许我做错了什么。。
__编辑__
发现了另一件事Irneb。
Lisp程序写下阿卡多克。lsp
(加载“C:\lisp1.lsp”nil)
应该是这样的
(加载“C:\\lisp1.lsp”nil)
页:
[1]
2