当前位置:编程学习 > VB >>

注册表批量删除的问题

某一天,也可能是做梦时梦到的,就是注册表批量删除,不知道该怎么做,请教大家。

比如,注册表中有以下项,

HKEY_CLASSES_ROOT\CLSID\{C41FF872-07B1-4926-819B-8C94E6B1FBB9}\Shell\Open(&O)\Command
HKEY_CLASSES_ROOT\CLSID\{C42EB5A1-0EED-E549-91B0-775852013521}\Shell\Open(&O)\Command


能否用以下这种方式进行表示?然后批量删除?请给出写法,谢谢了,用BAT,VBS都可以。

HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command
--------------------编程问答-------------------- --------------------编程问答-------------------- 编批处理文件,内容
reg delete HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command /f 
vb里用shell调用批处理文件运行 --------------------编程问答-------------------- 另一种方法:
删除注册表的键或项还是要通过注册表文件 
Windows Registry Editor Version 5.00 
[-HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command] 
保存为reg文件双击导如即可删除此项 
注意有个“-”号 
--------------------编程问答-------------------- 你不分青红皂白,把那些全部删除啊???

用注册表相关的 API ,可以枚举子键。
你还可以对子键名进行判断,决定是否删除它。
据说要有权限才能操作。


用 .bat 文件,恐怕也要权限吧。
--------------------编程问答-------------------- .bat、.vbs都可以搞定。不过,你要删除这些类注册干嘛啊?到时候机子上好大一漂软件都估计找不到注册组件了 --------------------编程问答-------------------- LPZ的方法运行riegedit.exe进行删除简单是简单,但是不够安全和稳定,可能杀毒软件会报警,比较通用的方法是使用WSH对象,更好的方法是使用API。 --------------------编程问答-------------------- 建议使用regvac软件对注册表进行瘦身。 --------------------编程问答--------------------
引用 3 楼 asftrhgjhkjlkttttttt 的回复:
另一种方法:
删除注册表的键或项还是要通过注册表文件 
Windows Registry Editor Version 5.00 
[-HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command] 
保存为reg文件双击导如即可删除此项 
注意有个“-”号

reg文件比较方便 --------------------编程问答-------------------- 使用WScript.Shell组件或者API,比如:
Set objWsh = CreateObject("WScript.Shell")
objWsh.RegDelete "HKEY_CURRENT_USER\Software\GetIpToMail\" '清理注册表项
Set objWsh = Nothing --------------------编程问答-------------------- --------------------编程问答-------------------- 当然可以,但这个得自己写。咱们不想免费提供了个恶意程序。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,