| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

VB技术

ASP技术
PHP技术
JSP技术
VB技术
.NET技术

本类阅读TOP10

·利用shell编程实现DOS风格的Linux命令行
·新手必学:windows网络编程经典入门
·通过连接实例解读TCP/IP协议
·JAVA生成JPG缩略图
·一组VB实用小程序
·VB解决Unicode文本转换的问题
·用VB制作屏幕保护程序
·Visual Basic开发应用程序答疑
·用VB6实现中英文文本的私钥加密
·用VB学做“黑客”程序

站内搜索

用注册表保存数据

  简介

  注册表最开始是出现在Windows 3.x,是用来为OLE保存数据的。那时Windows和其应用程序的设置值大多都保存在各不相同的.INI文件中。例如我们最为熟悉的System.ini和Win.ini就是这样的文件。当软件越安越多,这种文件也越来越多,而且遍布硬盘的各个角落。既不便于管理,也浪费了很多磁盘空间(因为这些文件大多都很小)。

  当Windows 95推出的时候,注册表应运而生。所有的设置值,不论是系统的,还是应用程序的,都被保存在一个树型结构的数据库中。这样确实方便了不少,而且对多用户环境提供了更好的支持。而对程序员而言就麻烦了一些,必须了解的是注册表的结构,又因为注册表不再是单一的文本文件,所以必须用专门函数来操作注册表。

  注册表(Registry)是保存程序运行参数和用户设置的最佳地方。听过了太多的告诫,编辑注册表对很多人来说似乎是一件神秘而复杂的事,但在VB中,通过四个注册表函数,一切都变得简单起来。

  如果你对注册表有一些了解,那么应该知道注册表的结构和我们所熟悉的文件系统的结构是一样的,都是树型结构。用主键来代替目录以划分各种不同的信息。在主键下面还可以有子主键和三种不同类型的键值。每个键值可以是字符串,二进制值或者双字值中的一种。Visual Basic 提供了一个标准的注册位置(主键)以存储创建于 Visual Basic的应用程序的程序信息:   HKEY_CURRENT_USER\Software\VB and VBA Program Settings\

  下面的所有函数所读写的注册表路径都是以这个路径为根的相对位置。

  SaveSetting

  这个函数用来向注册表数据库写入一些数据

  SaveSetting appname, section, key, setting

  appname

  在向注册表写入数据之前,你必须计划好一个用在整个应用程序中的appname 。可以把注册表的内容比作一台计算机,那么appname就是驱动器。它必须是一个字符串,也可以用数字,不过要用CStr 函数把它转换成字符串格式。事实上它代表的是应用程序或工程的名称。一般来说,appname在整个应用程序中应该保持不便。

  section

  section可以说是这个模型中的目录,就向一台计算机上的目录一样。它用来把设置分类,可以包含Key或者子section。如果给它传递vbNullChar 这个值的话,就表示要操作的键是在根目录下的,也就是在appname下面的。

  key

  相当于一个文件名。

  setting

  它代表文件中的信息,可以是一个数字或者字符串。

  执行完后,在注册表的HKEY_CURRENT_USER\Software\VB and VBA Program Settings\appname\section\"主键下面的名为“key”的键将被赋值为“setting”,如果相应的主键或者键名不存在,将会被创建。

  GetSetting

  这个函数用来从注册表中提取数据。

  GetSetting(appname, section, key[, default])

  Appname,section和key的含义和上面的一样。

  default

  如果Visual Basic没有找到指定的键,函数将返回参数default中得值。这个参数是可选的,但是对错误情况的处理很方便。如果没有选用这个参数,而指定的键的名称不存在,函数将返回一个长度为0的字符串。

  下面看看例子:

  SaveSetting "Logon Master", "Users\User0", "Name", "John"

  注释:这将把数据"John"储存到注册表的 "Logon Master\Users\User0\Name"

  注释:不过这是相对路径,相对于一个根

  Debug.Print GetSetting("Logon Master", "Users\User0", "Name", "Anonymous"

  注释:这将显示"John"

  Debug.Print GetSetting("Logon Master", "Users\User1", "Name", "Anonymous"

  注释:这次显示的将是"Anonymous",因为在

  注释:"Logon Master\Users\User1\Name"没有预先储存值。

  GetAllSettings

  这个函数用来提取某个目录(主键)下面的所有文件(子键)。

  GetAllSettings(appname, section)

  参数的含义和其他的函数都是一样的。但这个函数和其他几个比起来更为复杂。他返回的的是一个2维字符串数组,包含了所有的子键名称和乡音的子键值。看看下面这个例子,你很容易的就能搞清楚:注释: 定义一个Variant类型的变量来保存GetAllSettings返回的二维数组

  注释: Interger类型值用来计数

  Dim MySettings As Variant, intSettings As Integer

  注释:先在注册表中填入一些值

  SaveSetting "Logon Master", "Users\User0", "Name", "John"

  SaveSetting "Logon Master", "Users\User0", "Priviledges", "Supervisor"

  注释:提取预先设定的数据

  MySettings = GetAllSettings("Logon Master", "Users\User0")

  注释:显示出来

  For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)

  注释:MySettings(x,0)中包含的是键名,

  注释:而MySettings(x,1) 中包含的是键值

  Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1)

  Next intSettings

  注意:GetAllSettings并不返回目录名,只是返回键名和相应的键值。

  DeleteSetting

  除了保存和提取数据,我们还要能够删除注册表中的注册项。这就要用到DeleteSetting函数了。

  DeleteSetting appname[, section[, key]]

  这个函数用来删除主键或者键。如果要删除的是键,要给出它所在的键名。如果要删除的是主键,这它下面所有的键和子主键都会被删除。如果你要删除应用程序所有的注册表信息,就只用指定appname就可以了。

  例如:

  DeleteSetting "Logon Master", "Users\User0", "Name"

  注释:这将删除Name键。

  DeleteSetting "Logon Master", "Users"

  注释:这将删除"Logon Master\Users"主键和其下的所有内容。

  DeleteSetting "Logon Master"

  注释:这将删除应用程序"Logon Master"下面的所有内容。

  作者 : 扬眉




相关文章
  • 中国互联网十五年的22个创新模式
  • 获取用户IP地址的三个属性的区别
  • 十年里最具影响力的十大网络事件
  • 新浪阻碍互联网的发展
  • Facebook实名地址注册
  • DNS规模故障追踪——由24岁站长引发的蝴蝶效应
  • 网络生意起步10步搞定
  • 黑莓使用秘笈
  • IE浏览器使用自动配置脚本的设置方法
  • PHP发送UTF-8编码中文邮件标题乱码的解决
  • 常用网络命令及命令详解
  • 解决BlogSpot不能访问的方法
  • 对IE6中Web内容区域安全设置更改
  • 使用Google Reader的10个技巧
  • Linux下软件的基本安装和卸载
  • 使用PING命令轻松判断TCP/IP故障
  • 如何更聪明地阅读
  • 让IE下载变多线程
  • Del.icio.us 最炫的十个用法
  • IE7的两个技巧
  • 相关软件

  • 你想知道拨号网络连通后的动态小图标  
  • 利用Winsock做的网络程序  
  • 调制解调器网络编程  
  • 网络对话程序  
  • 列举网络上所有资源  
  • 通过网络传输并对MPEG进行解码的程序  
  • 网络工具  
  • 抢先式多线程网络蜘蛛  
  • 网络电脑列表  
  • 网络聊天工具原代码  



  • 月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有