明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 981|回复: 4

[讨论] 【求教】注册表多级嵌套删除!

[复制链接]
发表于 2020-7-13 14:07 | 显示全部楼层 |阅读模式
本帖最后由 nyistjz 于 2021-1-5 09:15 编辑

  • 我这边有写了一个简单的删除注册表程序,但目前只能删除一级嵌套的内容,如果里面嵌套的多了,就无法删除,请朋友们帮忙看一下,如何删除多级嵌套。
  • 如图的注册表样式,只能删除两级,请高手帮忙改造成可以删除任意多级嵌套,谢谢。
  • (defun registrydelete(regpath)
  •   (foreach name (vl-registry-descendents regpath)
  •     (vl-registry-delete (strcat regpath "\\" name))
  •     (vl-registry-delete regpath)
  •   )
  • )
  • (foreach name
  •   (list
  •     "HKEY_CURRENT_USER\\Software\\Autodesk\\avzztls1"
  •     "HKEY_CURRENT_USER\\Software\\Autodesk\\avzztls2"
  •   )
  •   (registrydelete name)
  • )





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-7-13 16:35 | 显示全部楼层
本帖最后由 tryhi 于 2020-7-13 16:41 编辑

(command "SHELL" "reg delete HKEY_CURRENT_USER\\Software\\Autodesk\\avzztls2 /f")

一句话的事情搞那么复杂干嘛呢

想不用shell或者其他外部命令,你要写递归
 楼主| 发表于 2021-1-4 11:21 | 显示全部楼层
请教高手,如果用递归的办法,这个函数如何来写,感谢 !
 楼主| 发表于 2022-1-1 11:18 | 显示全部楼层
搞定

        ;注册信息删除
        (defun reginfodelete(p / fold)
                (defun Fold(p);参数d为全局函数
                        (setq d (cons p d))
                        (foreach x (vl-registry-descendents p)(Fold(strcat p "\\" x)))
                        d ;倒序的文件列表,reverse可倒置扶正后返回
                )
                (foreach f (Fold p) (vl-registry-delete f))
        )
        ;注册表清除的两种办法
        (setq plist (list
                                                                        "HKEY_CURRENT_USER\\Software\\Autodesk\\avzztls"
                                                                        (strcat "HKEY_CURRENT_USER\\"(vlax-product-key)"\\Applications\\AutoCAD DuoTab.dll")
                                                                        (strcat "HKEY_CURRENT_USER\\"(vlax-product-key)"\\Applications\\HotKeys.NET")
                                                                        (strcat "HKEY_CURRENT_USER\\"(vlax-product-key)"\\Applications\\HotKeysCaps")
                                                                ))
        (foreach p plist (reginfodelete p));注册表清除法
发表于 2022-2-1 19:53 | 显示全部楼层
我也试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 19:44 , Processed in 3.122854 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表