打印本文 打印本文 关闭窗口 关闭窗口
利用VB.NET访问注册表
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1825  更新时间:2009/4/23 19:01:19  文章录入:mintao  责任编辑:mintao
T_USER读取一个DWORD键值:

Imports Microsoft.Win32
Dim regVersion As RegistryKey
Dim keyValue As String
keyValue = Software\\Microsoft\\TestApp\\1.0
regVersion = Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
    intVersion = regVersion.GetValue("Version", 0)
    regVersion.Close()
End If

接下来的例子是从HKEY_CURRENT_USER中读取,增加,并写入一个DWORD值:

Imports Microsoft.Win32
Dim regVersion As RegistryKey
regVersion = 
Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
    '''' Key doesn''''t exist; create it.
    regVersion = 
Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
 
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
    intVersion = regVersion.GetValue("Version", 0)
    intVersion = intVersion + 1
    regVersion.SetValue("Version", intVersion)
    regVersion.Close()

End If

 

权限

System.Security.Permission命名空间中的RegistryPermission类操纵着访问注册表变量的能力。Registry变量存储在那些只有RegistryPermission的代码才能访问到的内存区域。类似的,当授予权限时只给它们能完成任务的最小的权限。参见RegistryPermission 和 System.Security.Permissions。

注册表访问权限值是由RegistryPermissionAccess枚举定义的,参见RegistryPermissionAccess获得更多信息,下表只列出其成员。

Value

Description

AllAccess

创建、读取和写入注册表变量的权限。

Create

创建注册表变量的权限。

NoAccess

不能访问注册表。

Read

读取注册表变量的权限。

Write

写入注册表变量的权限。

 

注意:如果你需要一些权限组合的话,例如你需要读写而不需要新建权限,你可以使用下面的位运算符,如下例:

RegistryPermissionAccess.Write Or RegistryPermissionAccess.Read _

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TestApp"

 

使用注册表编辑器访问注册表

 

当你在配置你的工程时,你可能要用到注册表编辑器来对目标计算机的注册表添加键值。可参考Registry Editor获得更多信息。

访问注册表编辑器:

1、打开一个配置工程。

2、找到View菜单,指向Editor,然后点击Registry

在配置工程中使用注册表可参考Registry Settings Management in Deployment

结论:

注册表是一个存储应用程序信息和用户个人设置的理想位置,可以通过注册表来检查与你的程序正在交互的系统硬件或程序的信息。

大多数情况下,通过VB.NET运行时函数访问注册表就足够了,然而有时候你可能会用到.NET框架的Registry和RegistryKey类。这两种访问注册表的方法都很简单,但是这种方法有安全问题,必须小心谨慎,例如你不能在某个键中包含明文密码或其它的敏感信息。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口