如何:在 Visual Basic 中创建注册表项并设置其值

My.Computer.Registry 对象的 CreateSubKey 方法可用于创建注册表项。

程序

创建注册表项

  • 使用 CreateSubKey 方法,指定在其下放置注册表配置单元以及注册表项的名称。 该参数Subkey不区分大小写。 此示例创建注册表项 MyTestKey 在 HKEY_CURRENT_USER 下。

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

创建注册表项并在注册表项中设置值

  1. 使用 CreateSubkey 方法,指定在其下放置注册表配置单元以及注册表项的名称。 此示例创建注册表项 MyTestKey 在 HKEY_CURRENT_USER 下。

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. 设置与 SetValue 方案的值。 此示例将字符串值。 “ ” MyTestKeyValue “设置为 " this is a test value”。

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
      "MyTestKeyValue", "This is a test value.")
    

示例

此示例创建注册表项 MyTestKey 在 HKEY_CURRENT_USER 下然后将字符串值 MyTestKeyValue 到 This is a test value。

My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value. 
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
  "MyTestKeyValue", "This is a test value.")

可靠编程

检查注册表结构查找适合您的项的位置。 例如,您可能需要打开当前用户的 HKEY_CURRENT_USER \ software 项,然后用您的公司名称创建一项。 然后将注册表值添加到您的公司的键。

当从 Web 应用程序中读取注册表,当前用户取决于 Web 应用程序中实现的身份验证和模拟。

它与将数据写入用户文件夹 (CurrentUser) 而不是写入本地计算机 (LocalMachine)。

当您创建注册表值时,需要确定解决方法,如果该值已存在。 另一进程, (可能是恶意一个,可能已创建了该值和可以访问它。 将数据放入注册表值时,数据对其他可用进程。 若要防止这一问题,请使用 GetValue 方法。 ,如果此键已不存在,则返回 Nothing 。

它是不安全的存储机密信息,例如密码,在注册表中以纯文本形式,因此,即使注册表项受 ACL (访问控制列表) 保护。

以下情况可能会导致异常:

安全性

若要运行此进程,程序集需要 RegistryPermission 类授予的特权级别。 如果在部分信任的上下文中运行,则该进程可能会因特权不足而引发异常权限。 同样,用户必须有创建或写入设置的正确的 ACL。 例如,具有代码访问安全性权限的本地应用程序可能没有操作系统权限。 有关更多信息,请参见 代码访问安全性基础知识

请参见

参考

RegistryProxy

CurrentUser

CreateSubKey

概念

代码访问安全性基础知识

其他资源

读取和写入注册表 (Visual Basic)