[转] VB 自带的注册表操作函数示例
VB 自带的注册表操作函数示例,放丢失。
原文地址:http://blog.vbgood.com/blog-111532-34300.html
Option Explicit 'SaveSetting在 Windows 注册表中保存或建立应用程序项目。 '语法 '把项目写入注册表:savesetting "应用程序名","主键名","项","字符串值" 'SaveSetting appname, section, Key, setting '使用命名参数: 'SaveSetting appname:="MyApp", section:="Startup", Key:="Top", setting:=75 'SaveSetting 语句的语法具有下列命名参数: '部分 描述 'appname 必要。字符串表达式,包含应用程序或工程的名称,对这些应用程序或工程使用设置 'section 必要。字符串表达式,包含区域名称,在该区域保存注册表项设置。 'key 必要。字符串表达式,包含将要保存的注册表项设置的名称。 'setting 必要。表达式,包含 key 的设置值。 '说明 '如果无论如何也不能保存注册表项设置,则将导致错误发生。 Private Sub Command1_Click() SaveSetting "注册表函数示例", "设置", "设置值", Text1.Text SaveSetting "注册表函数示例", "设置", "2", "这是第二个值" SaveSetting "注册表函数示例", "新次项", "3", "这是第三个值" End Sub 'GetSetting 该方法其实读取,注册表中HKEY_CURRENT_USER\Software\VB and VBA Program Settings下相应的值。 '------------------------------------ '语法 'GetSetting("应用程序名","主键名","项",[默认值]) 'GetSetting(appname, section, key[, default]) 'GetSetting 函数的语法具有下列命名参数: '部分 描述 'appname 必要。字符串表达式,包含应用程序或工程的名称,要求这些应用程序或工程有注册表项设置。 'section 必要。字符串表达式,包含区域名称,要求该区域有注册表项设置。 'key 必要。字符串表达式,返回注册表项设置的名称。 'default 可选。表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则 default 取值为长度为零的字符串 ("")。 '说明 '如果 GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。 Private Sub Command2_Click() Label1.Caption = GetSetting("注册表函数示例", "设置", "设置值", "默认值") End Sub 'DeleteSetting在 Windows 注册表中,从应用程序项目里删除区域或注册表项设置。 '语法 'DeleteSetting "应用程序名"[,"主键名"][,"项"] 'DeleteSetting appname [,section][, key] 'DeleteSetting 语句的语法具有下列命名参数: '部分 描述 'appname 必需的。字符串表达式,包含应用程序或工程的名称,区域或注册表项用于这些应用程序或工程。 'section 可选。字符串表达式,包含要删除注册表项设置的区域名称。如果只有 appname 和 section,则将指定的区域连同所有有关的注册表项设置都删除。 'key 可选。字符串表达式,包含要删除的注册表项设置。 '说明 '如果提供了所有参数,则删除指定的注册表项设置。如果试图使用不存在的区域或注册表项设置上的 DeleteSetting 语句,则发生一个运行时错误。 'DeleteSetting "MyApp" '如果省略了section和key,则整个appname都被删除 '再删除时,不管注册项下有没有其它值,都会被删除 Private Sub Command3_Click() If GetSetting("注册表函数示例", "设置", "设置值") = Empty Then MsgBox "现在注册中的值已经被删除了" Else DeleteSetting "注册表函数示例", "设置", "设置值" End If End Sub Private Sub Command4_Click() If GetSetting("注册表函数示例", "设置", "设置值") = Empty Then MsgBox "现在注册中的值已经被删除了" Else DeleteSetting "注册表函数示例", "设置" End If End Sub Private Sub Command5_Click() If GetSetting("注册表函数示例", "设置", "设置值") = Empty Then MsgBox "现在注册中的值已经被删除了" Else DeleteSetting "注册表函数示例" End If End Sub 'GetAllSettings(appname, section): 返回一个包含多项注册表设置值的数组 Private Sub Command6_Click() Dim avntSettings As Variant Dim intX As Integer avntSettings = GetAllSettings("注册表函数示例", "设置") If avntSettings <> Empty Then For intX = 0 To UBound(avntSettings, 1) Debug.Print avntSettings(intX, 0), avntSettings(intX, 1) Next intX Else MsgBox "注册表中没有值" End If End Sub

浙公网安备 33010602011771号