liminnet 发表于 2008-7-3 14:19:00

jialiang168 发表于 2010-12-13 20:28:36

奇怪问的问题都很好,我也很想知道答案怎么都没人帮忙回答呢!望高手解答啦!

Gu_xl 发表于 2010-12-13 20:45:47

本帖最后由 Gu_xl 于 2010-12-13 20:46 编辑

;;;命令:reloadStartUp
(defun c:reloadStartUp (/ $skey $akey NumStartup n StartupList)
(setq
    $skey (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "CPROFILE") "\\Dialogs\\Appload\\Startup")
    $akey (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Applications\\AcadAppload" )
    )
(setq NumStartup (vl-registry-read $skey "NumStartup")
      n 1
      StartupList '())
(repeat (atoi NumStartup)
    (setq StartupList (cons (vl-registry-read $skey (strcat   (itoa n) "Startup")) StartupList))
    (setq n (1+ n))
    )
(mapcar 'load StartupList)
(princ)
)

alin 发表于 2010-12-13 20:50:34

写一个命令将启动组里的程序一个个加载就好了。
例如
(defun C:ReloadStartUp()
      (load "....lsp")
      (load "...lsp")
      ...
)
若要知道启动组的程序列表,可以找注册表,例如我的机器上
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.1\ACAD-6001:804\Profiles\<<未命名配置>>\Dialogs\Appload\Startup
页: [1]
查看完整版本: 各路武林大侠,打开一个DWG后,能让启动组的所有程序再加载一次吗