知识大全 使用 Visual Basic .NET 访问注册表
Posted 函数
篇首语:没有锯不倒的树,没有敲不响的钟。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用 Visual Basic .NET 访问注册表相关的知识,希望对你有一定的参考价值。
使用 Visual Basic .NET 访问注册表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使用 Visual Basic NET 函数访问注册表 Visual Basic NET 提供了四个函数以访问注册表 要使用这些函数 必须具有 RegistryPermissionAccess 枚举的 Read 和 Write 权限 以完全信任身份运行的任何代码(根据默认的安全原则 这是指安装在用户本地硬盘驱动器上的任何代码)都具有访问注册表的权限 有关详细信息 请参阅 RegistryPermission Class 注意 不能通过 GetSetting 函数返回段的名称 如果不能保存项设置 将产生一个 ArgumentException 对象 有关此异常的详细信息 请参阅 ArgumentException 下面的示例创建了一个注册表项和两个子项 接着显示第一个项的值 并显示第一个项及其子项的值 然后删除第二个子项 并显示第一个项及其子项的值 以确认删除了第二个子项 创建第一个项 SaveSetting( TestApp Startup FirstKey First ) 创建第一个子项 SaveSetting( TestApp FirstKey FirstSubKey FirstSub ) 创建第二个子项 SaveSetting( TestApp FirstKey SecondSubKey SecondSub ) Try 写出第一个项的值 Console WriteLine ((GetSetting( TestApp Startup FirstKey )) 写出第一个项及其两个子项 Console WriteLine (GetAllSettings( TestApp Startup )) Catch e As ArgumentException Catch e As Exception Console WriteLine (e GetType ToString) Finally End Try DeleteSetting( TestApp FirstKey SecondSubKey ) Try Console WriteLine (GetSetting( TestApp Startup FirstKey )) Console WriteLine (GetAllSettings( TestApp Startup )) Catch e As ArgumentException Catch e As Exception Console WriteLine (e GetType ToString) Finally End Try 使用内置注册表访问函数具有以下限制 只能访问位于 HKEY_CURRENT_USER\\Sofare\\VB and VBA Program Settings 下的注册表项 为此 必须登录到系统 因为 HKEY_CURRENT_USER 注册表项仅在登录到系统时才被激活 从一个非交互进程(如 mtx exe)访问的注册表设置应存储在 HKEY_LOCAL_MACHINE\\Sofare\\ 或 HKEY_USER\\DEFAULT\\Sofare 注册表项下 使用 NET 框架访问注册表 由于使用 GetSetting 和 SaveSetting 函数只能访问位于 HKEY_CURRENT_USER\\Sofare\\VB and VBA Program Settings 下的项 因而具有一定的局限性 为此 可以使用 NET 框架 Microsoft Win 名称空间中的 Registry 和 RegistryKey 类 有关详细信息 请参阅 Registry 和 RegistryKey Registry 类提供基本的注册表项 用于访问子项及其值 基项本身是只读的 下表列出并说明了 Registry 类中提供的七个项 下面的示例显示了如何从 HKEY_CURRENT_USER 中读取一个 DWORD 值 Imports Microsoft Win Dim regVersion As RegistryKey Dim keyValue As String keyValue = Sofare\\\\Microsoft\\\\TestApp\\\\ regVersion = Registry CurrentUser OpenSubKey(keyValue False) Dim intVersion As Integer = If (Not regVersion Is Nothing) Then intVersion = regVersion GetValue( Version ) regVersion Close() End If 下面的示例将读取 递增 然后向 HKEY_CURRENT_USER 中写入一个 DWORD 值 Imports Microsoft Win Dim regVersion As RegistryKey regVersion = Registry CurrentUser OpenSubKey( SOFARE\\\\Microsoft\\\\TestApp\\\\ True) If regVersion Is Nothing Then 不存在该项 创建该项 regVersion = Registry CurrentUser CreateSubKey( SOFARE\\\\Microsoft\\\\TestApp\\\\ ) End If Dim intVersion As Integer = If (Not regVersion Is Nothing) Then intVersion = regVersion GetValue( Version ) intVersion = intVersion + regVersion SetValue( Version intVersion) regVersion Close() End If 权限 System Security Permission 名称空间中的 RegistryPermission 类控制了访问注册表变量的能力 注册表变量不应存储在不具备 RegistryPermission 的代码可以访问的内存位置 同样 在授予权限时 应只授予完成工作所需的最小权限 有关详细信息 请参阅 RegistryPermission 和 System Security Permissions 注册表访问权限值由 RegistryPermissionAccess 枚举定义 有关详细信息 请参阅RegistryPermissionAccess 下表详细说明了其中的各项 注意 如果需要某种权限组合 例如允许读取和写入访问而拒绝创建访问 则可以使用一个 Or 操作来实现 如下所示 RegistryPermissionAccess Write Or RegistryPermissionAccess Read _ HKEY_LOCAL_MACHINE\\SOFARE\\Microsoft\\TestApp 使用注册表编辑器访问注册表 当使用部署项目时 还可以选择使用注册表编辑器来指定要添加到目标计算机的注册表中的注册表项和项值 有关详细信息 请参阅 Registry Editor 访问注册表编辑器 打开一个部署项目 在 View(查看)菜单中 指向 Editor(编辑器) 然后单击 Registry(注册表) 有关在部署项目中使用注册表编辑器的详细信息 请参阅 Registry Settings Management in Deployment 总结 注册表是存储有关应用程序以及各个用户设置的信息的最佳位置 此外 也可以从中查看有关系统硬件或要与之交互的应用程序的信息 对于大多数项目 通过 Visual Basic 运行时函数访问注册表已经足够 但在某些情况下 也可能需要使用 NET 框架的 Registry 类和 RegistryKey 类 这两种操作都很简单 但由于这种访问涉及安全问题 所以要注意避免产生安全隐患 例如在项中包含一个纯文本密码或其他敏感信息等 cha138/Article/program/net/201311/13928相关参考
知识大全 Visual Basic.NET中使用ADO访问数据库
VisualBasic.NET中使用ADO访问数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 从Visual Basic 6.0到Visual Basic.NET
从VisualBasic6.0到VisualBasic.NET 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
VisualBasic.Net基本语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一Try…
VisualBasic.Net实现TCP协议 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TCP协
实战VisualBasic.Net对话框 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对话框和
知识大全 使用Visual Basic.NET重载事件处理程序
使用VisualBasic.NET重载事件处理程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
VisualBasic.NET中组件的叠加使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 状
VisualBasic.Net打造个性化菜单 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 菜单
知识大全 一步一步创建Visual Basic .NET 控件
一步一步创建VisualBasic.NET控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我从来
知识大全 Visual Basic.Net引人注目的语言革新
VisualBasic.Net引人注目的语言革新 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!