ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何使用Visual Basic来操作注册表

如何使用Visual Basic来操作注册表

作者:绿色风 分类: 时间:2022-08-18 浏览:95
楼主
omnw
MicroSoftVisualBasic中对于注册表的操作函数共有4个,它们是SaveSetting,GetSetting,GetAllSettings,DeleteSettings等。
      一、SaveSetting在Windows注册表中保存或建立应用程序项目
      语法:SaveSetting appname, section,key,setting
      参数:appname:字符串表达式,应用程序或工程的名称。
            section:字符串表达式,包含区域名称,在该区域保存注册表项设置。
            key:字符串表达式,包含将要保存的注册表项设置的名称。
            setting:字符串表达式,包含key的设置值。
      函数示例:使用SaveSetting语句来建立"MyApp"应用程序的项目,然后使用DeleteSetting
语句将之删除。
      1、在注册区中添加一些设置值。   
      方式一:SaveSetting appname:="MyApp",section:="Startup",key:="Top",setting:=75
      方式二:SaveSetting "MyApp","Startup","Left",50
      执行代码后的结果如下图:

 
      二、GetSetting从Windows注册表中的应用程序项目返回注册表项设置值
      语法:GetSetting appname,section,key[,default]
      参数:appname:字符串表达式,包含应用程序或工程的名称。
            section:字符串表达式,包含区域名称,要求该区域有注册表项设置。
            key:字符串表达式,返回注册表项设置的名称。
            default:可选。表达式,如果注册表项设置中没有设置值,则返回default设置值,否则返回设置值。如果省略,如果注册表项设置中没有设置值,则返回长度为零的字符串(""),否则返回设置值。

 


      函数示例:使用SaveSetting语句建立appname应用程序的项目,然后使用GetSetting函数得到其中一项设置并显示出来。因为有传入参数default,GetSetting函数一定会有返回值。请注意,section名称不能用GetSetting函数取得。最后,使用DeleteSetting语句将该应用程序项删除。
      1、在注册表中添加项目
      SaveSetting "MyApp","Startup","Top",75
      SaveSetting "MyApp","Startup","Left",50
      Debug.Print GetSetting(appname:="MyApp",section:="Startup",key:="Left",default:="25")
      2、删除注册表中项目
      DeleteSetting "MyApp","Startup"

      三、GetAllSettings从Windows注册表中返回应用程序项目的所有注册表项设置及其相应值
      语法:GetAllSettings(appname,section)
      参数:appname:必要。字符串表达式,应用程序或工程的名称。
            Section:必要。字符串表达式,包含区域名称,并要求该区域有注册表项设置。
      GetAllSettings返回Variant,其内容为字符串的二维数组,该二维数组包含指定区域中的所有注册表项设置及其对应值。
      说明:如果appname或section不存在,则GetAllSettings返回未初始化的Varian
      函数示例:本示例首先使用SaveSetting语句来建立Windows注册区里appname应用程序的项目,然后再使用GetAllSettings函数来取得设置值并显示出来。请注意,应用程序名和section名称不能用GetAllSettings函数取得。最后,使用DeleteSetting语句将该应用程序项删除。
Sub test()
Dim MySettings As Variant, intSettings As Integer
'用来保存GetAllSettings函数所返回之二维数组数据的变量,整型数是用来计数用。
SaveSetting appName:="MyApp", section:="Startup", key:="Top", setting:=75
'在注册区中添加设置值。
SaveSetting "MyApp", "Startup", "Left", 50
MySettings = GetAllSettings(appName:="MyApp", section:="Startup")
'取得输入项的设置值。
For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)
Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1)
Next intSettings
DeleteSetting "MyApp", "Startup"
End Sub
      四、DeleteSetting从应用程序项目里删除区域或注册表项设置
      语法:DeleteSetting appname,section[,key]
      参数:appname:必需的。字符串表达式,应用程序或工程的名称。
      Section:必要。字符串表达式,包含要删除注册表项设置的区域名称。如果只有appname和section,则将指定的区域连同所有有关的注册表项设置都删除。
      Key:可选。字符串表达式,包含要删除的注册表项设置。
      说明:如果提供了所有参数,则删除指定的注册表项设置。如果试图使用不存在的区域或注册表项设置上的DeleteSetting语句,则发生一个运行时错误。
      函数示例:下列示例先使用SaveSetting语句,来建立Windows注册区(或16位Windows平台的ini文件)里MyApp应用程序的项目,然后使用DeleteSetting语句将之删除。因为没有指定key参数,整个区段都会被删除掉,包括区段名称及其所有的机码(key)。
      '在注册区中添加一些设置值。   
      SaveSetting appname:="MyApp",section:="Startup",key:="Top",setting:=75
      SaveSetting "MyApp","Startup","Left",50
      '删除区段及所有的设置值。
      DeleteSetting "MyApp","Startup"
               
使用Visual Basic来操作注册表.rar
2楼
水星钓鱼
学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap