查找win9x注册表啊!高手请进!

rolleyuan 2002-05-17 03:23:50
我想在注册表中查找错误信息,用户操作的历史记录(比如我在E盘删除了一个文件,那么在注册表中也要删除相应的信息)、无效的反安装信息等,请问怎么样才能用vb实现呢??
请各位高手指教!!万分感谢!
...全文
31 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rolleyuan 2002-05-20
  • 打赏
  • 举报
回复
他的贴子的URL是什么啊??急!1
我的要求是在按Command就开始扫描注册表,而且在Statusbar上动态显示正在扫描的注册表具体分枝!就像windows的查找一样在查文件时动态显示正在查找的路径,最后显示找到几个文件!!!
qbilbo 2002-05-20
  • 打赏
  • 举报
回复
主要是用API RegEnumValue 。
具体用法见zyl910(910:分儿,我来了!) 的贴子吧,要不贴出来太长了。
如果看不懂,把要求写出来,我帮你写一个。


rolleyuan 2002-05-19
  • 打赏
  • 举报
回复
现在的问题是先要扫描注册表啊!!怎么扫描啊?
daturawing 2002-05-18
  • 打赏
  • 举报
回复
风之兄说的就是,先找到关联的dll文件名,然后通过dir来查找该文件是否存在,如不存在,就delete,对吗?我的理解如此,那怎么来判断dll文件名称呢?难不成一一列举?总之整个过程不容易操作,我不知道写出来,维护是不是很好?
虽是拙见,但是不得不提
rolleyuan 2002-05-17
  • 打赏
  • 举报
回复
qbilbo(风之兄):能不能给个简单的例子啊!
tj_aj 2002-05-17
  • 打赏
  • 举报
回复
关注。。。
huangzhieling 2002-05-17
  • 打赏
  • 举报
回复
按你这种情况只需得到键值并判断所指向文件是否存在即可
qbilbo 2002-05-17
  • 打赏
  • 举报
回复
这是个很麻烦的问题。
一般删除文件后要修改注册表信息的文件有dll文件,和某一种类型关联的exe文件
在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs的分支下是系统中所有注册过的dll,你可以枚举出所有的值的名字,然后用dir查找该文件是否存在,如果不存在了,就将该值删除。
在HKEY_CLASSES_ROOT中是关联的的信息,可以用同样的方法来查找程序文件是否还存在,如果不存在,就将该关联删除。

另外还有注册的帮助文件,在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Help中....
你可以找本注册表维护的书看看,上面会有详细的说明。
zyl910 2002-05-17
  • 打赏
  • 举报
回复
VB操作注册表:
http://www.sqreg.com/file/vb/reg_01.htm
http://www.sqreg.com/file/vb/reg_02.htm
http://www.sqreg.com/file/vb/reg_03.htm
http://www.sqreg.com/file/vb/reg_04.htm
http://www.sqreg.com/file/vb/reg_05.htm
http://www.sqreg.com/file/vb/reg_06.htm
http://www.sqreg.com/file/vb/reg_07.htm
ap800 2002-05-17
  • 打赏
  • 举报
回复
不可能
daturawing 2002-05-17
  • 打赏
  • 举报
回复
可以使用VBAPI函数,比如说,你想从注册表读一个信息,可以
Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long

lpMachineName 为机器名称,格式为"\\pcname"
hKey HKEY_LOCAL_MACHINE 或 HKEY_USERS
phkResult 用于装载指定项句柄的一个变量

上面还只是一个例子,
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long 删除一个主键

还要其他的吗?你可以具体的看看VBAPI的用法,简单易懂
注意上面的当然是要放到module里面,可别写错地方了。
wishare 2002-05-17
  • 打赏
  • 举报
回复
我也不知道。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧