当前位置:中国星空学习网首页>实用技术>注册表>正文  
从注册表读取程序的版本是很容易的事

 
  用Visual Studio .NET读写注册表一般用到Registry类.
  
  Registry类提供在运行 Windows 的计算机上的注册表中找到的标准根项集。
  注册表是一个存储设备,包含有关应用程序、用户和默认系统设置的信息。例如,应用程序可以使用注册表来存储在应用程序关闭后需要保留的信息,并在应用程序重新加载时访问那些同样的信息。例如,可以存储颜色首选项、屏幕位置或窗口大小。通过将信息存储在注册表中的不同位置,可以针对每个用户来控制这些信息。
  
  由 Registry 公开的基(根) RegistryKey 实例描绘注册表中的子项和值的基本存储机制。所有项都是只读的,因为注册表依赖于它们的存在。由 Registry 公开的项有: CurrentUser 存储有关用户首选项的信息。 LocalMachine 存储本地计算机的配置信息。 ClassesRoot 存储有关类型(和类)及其属性的信息。 Users 存储有关默认用户配置的信息。 PerformanceData 存储软件组件的性能信息。 CurrentConfig 存储非用户特定的硬件信息。 DynData 存储动态数据。
  
  一旦标识了希望在其下存储/检索注册表中信息的根项后,可以使用 RegistryKey 类添加或移除子项和操作给定项的值。
  
  硬件设备可以使用即插即用接口将信息自动放在注册表中。安装设备驱动程序的软件可以通过向标准 API 写入将信息放在注册表中。
  
  RegistryKey 类
  RegistryKey 类表示 Windows 注册表中的项级节点。此类是注册表封装。
  
  注册表充当计算机上操作系统和应用程序的中央信息储存库。注册表根据存储在其中的元素的逻辑顺序,以分层形式组织(有关该层次结构中的基级项,请参见 Registry )。在注册表中存储信息时,请根据存储的信息类型选择适当的位置。一定要避免损坏由其他应用程序创建的信息,原因是这样会导致那些应用程序出现意外的行为,并且还会对您自己的应用程序带来不利影响。
  
  RegistryKeys 是注册表中的基本组织单位,好比是 Windows 资源管理器中的文件夹。特定的项可以有子项(与文件夹可以有子文件夹一样),并且只要用户具有适当的删除权限,且此项不是基项或基项的下一级项,就可以删除此项。每个项还可以有多个关联的值(值好比是文件),用于存储您感兴趣的应用程序的信息。每个值保存一条特定的信息,在需要时可以检索或更新此信息。例如,可以为您的公司创建一个 RegistryKey(在项 HKEY_LOCAL_MACHINE\Software 下),然后为您的公司创建的每个应用程序创建一个子项。每个子项保存特定于该应用程序的信息,如颜色设置、屏幕位置和大小或者可识别的文件扩展名。
  
  注意,存储在注册表中的信息可由其他应用程序和用户使用,因此不要用注册表存储安全信息或关键的应用程序信息。
  
  若要获取 RegistryKey 的实例,请使用静态成员 OpenSubKey ,或者使用 Registry 类的静态成员。
  
  本文主要用到:
  RegistryKey.OpenSubKey 方法:用指定的写访问权限检索指定的子项。
  
  以只读方式检索子项。
  
  [Visual Basic] Overloads Public Function OpenSubKey(String) As RegistryKey
  
  RegistryKey.GetSubKeyNames 方法: 检索包含所有子项名称的字符串数组。
  
  Public Function GetSubKeyNames() As String ()
  
  从注册表读取Excel的版本
  
  先引入命名空间:
  Imports System
  Imports Microsoft.Win32
  
  要对注册表有所了解,知道我们要读取的位置在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office。
  
  Dim rk As RegistryKey = _
  Registry.LocalMachine.OpenSubKey("Software\Microsoft\Office", True)
  
  ' Get the data from a specified item in the key.
  Dim s As String() = rk.GetSubKeyNames()
  
  Dim blnExcel As Boolean = False '本机是否安装Excel
  Dim excelVer As String      'Excel的版本号
  
  For num As Integer = 0 To s.Length - 1
  Select Case s.GetValue(num)
  Case "11.0", "9.0", "8.0", "5.0", "4.0", "3.0" 'Excel各个版本号
  Dim rk1 As RegistryKey = _
  Registry.LocalMachine.OpenSubKey("Software\Microsoft\Office\" & s.GetValue(num) & "\Excel", True)
  If Not (rk1 Is Nothing) Then
  blnExcel = True
  excelVer = s.GetValue(num)
  Exit Select
  Exit For
  End If
  End Select
  Next
  用RegistryKey类读写注册表是否十分简便呢?
  
  

 

上一篇: 几个未公布的访问注册表的扩展存储过程
下一篇: Windows XP注册表修改精粹(一)
站内公告
栏目导航
 Windows系统
 Linux/DOS
 办公应用
 工具软件
 图形图象
 网络应用
 安全防御
 网络编程
 软件教程
 实用技术
最新文章
中国星空图片网
·人体艺术
·性感美眉
·生活自拍
·幽默搞笑
·超级帅哥
·精彩万花筒
·梦幻景色
中国星空探索网
·神秘追踪 灵异接触
·鬼故事 灵异空间 图片
·未解之谜 探索宇宙
中国星空两性网
·两性图文 我的性事 情人 成人幽默
·性爱技巧 两性测试 性爱误区
·性事花边 生育避孕 性保健 性疾病
·两性生理 文化 讨论 心理 知识
·爱人同志 非常男女 一夜情
中国星空算网命
·手机吉凶 QQ号码吉凶 周公解梦
·塔罗牌测试 狗年运程
·关公灵签 紫薇斗数 八字排盘
·测试:你的成功指数有多少
·测验你的家庭是否美满?
·面相: 面型 眼睛 耳朵 口唇
·手相:拉你一把奶油桂花手
·测试:你能成为大富翁吗?
联系方式 设为首页
中国星空旗下---中国星空学习网    Copyright 2005-2050 Year   xx.happy369.com  Networks.All rights reserved
中国星空网所有内容均来源于网络,版权属于原作者,如侵犯到您的权益,请与我们联系,我们将尽快予以删除或处理。
中国星空不承担由于内容的合法性及健康性所引起的一切争议和法律责任。
陕ICP备05011765号 联系我们