答疑解惑:使用VB操作注册表

ZDNet软件频道 时间:2002-10-22 作者:BUILDER.COM |  我要评论()
本文关键词:
本文介绍了两种通过VB访问注册标的方法,这两种方法都能让你生成一个新的键,并能列举出其副键和键中的值。
提问:如何使用Visual Basic来操作Windows操作系统注册表?


回答:这就取决于你操作注册表的具体意图。如果你想保存一些简单的系统配置信息,那么VB的 SaveSettingGetSetting 命令就可以满足。更复杂一些的方法是Windows Script Host's (WSH) WshShell对象操作方式,但这一方法也很简单方便。第三种方法就是调用Win32 API注册表函数方式,这一方法最复杂,但只要掌握了就能够熟练地操作注册表。

一种简单但灵活的方法

VB的 SaveSettingGetSetting 命令让你以最小错误地存储字符串数据到注册表中。这两个命令存储的数据都位于HKEY_CURRENT_USERSoftwareVB下的副键下及VBA程序环境下。通常情况下,系统信息都保存在副键下,例如,如果想保存使用RegistryHacker程序的最后一个用户的名字,代码如下:

SaveSetting "RegistryHacker", "UserManagement", "LastUser", "Lamont"


注册表的结构

Windows操作系统实质上是一个优化了的读取速度奇快的数据库。它的组织形式是等级型的树状结构,正如Windows的文件系统一样。注册表的根部代表着如HKEY_CURRENT_USER 的最高等级的键,树的节点就是键,包含着很多副键或带有名称的数据。注册表数据能存放不同类型的数据,包括字符串、32位和64位整数、二进制、字符串数组。


运行以上的代码即可生成RegistryHacker键和UserManagement副键,然后添加一个名为LastUser的值到UserManagement,并保存"Lamont"到该值。图A显示了这一结果。

Figure A

SaveSetting 创建新键

你可以用GetSetting来重新获得注册表的信息,如下所示:

strUser = GetSetting("RegistryHacker", "UserManagement", "LastUser")

 VB也提供了DeleteSetting命令来删除早先用SaveSetting存储的数据。

正如你所看到的,GetSetting and SaveSetting相当简单。然而,它们功能并不强大,很多情况下这种方法都无能为力。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134