选择显示字体大小

编程解决注册表问题所需的函数详解(1)

在各种程序设计语言当中,visual basic 是最容易上手的了。这里以vb编程为主,对vc,delphi,vfp只在后面给出几个实例。

使用 visual basic 来操作注册表

vb中处理注册表,通常有两种途径:一是利用vb自身的函数;二是调用 windows api 函数来操作注册表

一、 microsoft visual basic 中对于注册表的操作函数

说明:在 visual basic 6.0 内部,为了存储创建于 vb 的应用程序的程序信息,已经提供了一个标准的注册位置(如图1):hkey_current_user\software\vb and vba program settings\(为了叙述简单,以下将这一位置简称“标准位置”)。



microsoft visual basic 中对于注册表的操作函数共有4个,它们是 savesetting, getsetting, getallsettings, deletesettings等。

1、savesetting 在 windows 注册表中保存或建立应用程序项目

语法 savesetting appname, section, key, setting

参数 appname:字符串表达式,包含应用程序或工程的名称,是标准位置下的一个子键。

section:字符串表达式,包含区域名称,是 appname 下的一个子键。

key:字符串表达式,标准位置\appname\section子键的键名(value name)。

setting:字符串表达式,包含 key 的设置值。

函数示例 下列示例先使用 savesetting 语句,来建立windows标准位置(或 16位 windows 平台的 ini 文件)里 “我的工程”应用程序的项目,然后使用 deletesetting 语句将之删除。因为没有指定 key参数,整个子键都会被删除掉,包括子键名称及其所有的键值(key)。

' 在标准位置中添加一些设置值。

savesetting appname := "我的工程", section := "我的子键", key := "top", setting := 75

savesetting "我的工程","我的子键", "left", 50

' 删除子键及所有的设置值。

deletesetting "我的工程", "我的子键" ①在注册表中添加一些设置值。用 savesetting 语句在标准位置下建立名为“我的工程\我的子键”的子键。

savesetting appname := "我的工程", section := "我的子键", key := "top", setting := 75

savesetting "我的工程", "我的子键", "left", 50

②删除子键及所有的设置值。

deletesetting "我的工程", "我的子键"

2、getsetting 从 windows 注册表中的应用程序项目返回注册表项设置值

语法 getsetting appname, section, key[, default]

参数 appname:字符串表达式,包含应用程序或工程的名称。

section:字符串表达式,包含区域名称,要求该区域有注册表项设置。

key:字符串表达式,返回注册表项设置的名称。

default:可选。表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则 default 取值为长度为零的字符串 ("")。

说明 如果 getsetting 无参数,则 getsetting 返回 default 的值

函数示例 使用 savesetting 语句建立 appname 应用程序的项目,然后使用 getsetting 函数得到其中一项设置并显示出来。因为有传入参数 default,getsetting 函数一定会有返回值。请注意,section 名称不能用 getsetting 函数取得。最后,使用 deletesetting 语句将该应用程序项删除。

①定义保存 getsetting 函数返回之二维数组数据的变量

  dim mysettings as variant

②在注册表中添加项目

savesetting "我的工程","我的子键", "top", 75

savesetting "我的工程","我的子键", "left", 50

debug.print getsetting(appname := "我的工程", section := "我的子键", key := "left", default := "25")

③删除注册表中项目

deletesetting "我的工程", "我的子键"

3、getallsettings 从 windows 注册表中返回应用程序项目的所有注册表项设置及其相应值

语法 getallsettings(appname, section)

参数 appname 必要。字符串表达式,应用程序或工程的名称。

section 必要。字符串表达式,包含区域名称,并要求该区域有注册表项设置。getallsettings 返回 variant,其内容为字符串的二维数组,该二维数组包含指定区域中的所有注册表项设置及其对应值。

说明 如果 appname 或 section 不存在,则 getallsettings 返回未初始化的 varian

函数示例 本示例首先使用 savesetting 语句来建立 windows标准位置里 appname 应用程序的项目,然后再使用 getallsettings 函数来取得设置值并显示出来。请注意,应用程序名和 section 名称不能用 getallsettings 函数取得。最后,使用 deletesetting 语句将该应用程序项删除。

' 用来保存 getallsettings 函数所返回之二维数组数据的变量

' 整型数是用来计数用。

dim mysettings as variant, intsettings as integer

' 在注册表中添加设置值。

savesetting appname := "我的工程", section := "我的子键", key := "top", setting := 75

savesetting "我的工程","我的子键", "left", 50

' 取得输入项的设置值。

mysettings = getallsettings(appname := "我的工程",

 section := "我的子键")

for intsettings = lbound(mysettings, 1) to

 ubound(mysettings, 1)

debug.print mysettings(intsettings, 0), mysettings(intsettings, 1)

next intsettings

deletesetting "我的工程", "我的子键"


4、deletesetting 从应用程序项目里删除区域或注册表项设置

语法 deletesetting appname, section[, key]

参数 appname 必需的。字符串表达式,应用程序或工程的名称。

section 必要。字符串表达式,包含要删除注册表项设置的区域名称。如果只有 appname 和 section,则将指定的区域连同所有有关的注册表项设置都删除。

key 可选。字符串表达式,包含要删除的注册表项设置。

说明 如果提供了所有参数,则删除指定的注册表项设置。如果试图使用不存在的区域或注册表项设置上的 deletesetting 语句,则发生一个运行时错误。

函数示例 见savesetting函数示例




  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons