发新话题
打印

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

编程解决注册表问题所需的函数详解(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函数示例

TOP

在各种程序设计语言当中,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函数示例

TOP

在各种程序设计语言当中,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函数示例

TOP

发新话题