C# 注册表 操作实现代码

C# 中操作注册表的方法非常简单,以下是一些基本的操作实现代码:

读取注册表

using Microsoft.Win32;

// 打开要读取的注册表键
RegistryKey regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

// 读取键值
string keyVal = (string)regKey.GetValue("TestKey");

// 关闭注册表键
regKey.Close();

以上代码会打开当前用户下的“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”键,并读取名为“TestKey”的键值。如果该键不存在,keyVal 的值将为 null。

写入注册表

using Microsoft.Win32;

// 打开要写入的注册表键
RegistryKey regKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

// 写入键值
regKey.SetValue("TestKey", "C:\\Test.exe");

// 关闭注册表键
regKey.Close();

以上代码会打开当前用户下的“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”键,并写入名为“TestKey”的键值,值为“C:\Test.exe”。如果键已经存在,则会被覆盖。

删除注册表

using Microsoft.Win32;

// 打开要删除的注册表键
RegistryKey regKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

// 删除键值
regKey.DeleteValue("TestKey");

// 关闭注册表键
regKey.Close();

以上代码会打开当前用户下的“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”键,并删除名为“TestKey”的键值。如果键不存在,此操作会被忽略。

示例1:创建一个注册表项并写入一个键值

using Microsoft.Win32;

// 创建一个名为 "MyApp" 的注册表项
RegistryKey regKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\MyApp");

// 写入键值
regKey.SetValue("TestKey", "Hello World");

// 关闭注册表项
regKey.Close();

以上代码会创建一个名为“MyApp”的注册表项,并在该项下写入名为“TestKey”的键值,值为“Hello World”。

示例2:读取当前用户的登录项

using Microsoft.Win32;

// 打开当前用户下的登录项注册表键
RegistryKey regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

// 读取该键下的所有键值的名称
string[] valueNames = regKey.GetValueNames();

// 遍历所有键值,输出名称和值
foreach (string valueName in valueNames)
{
    Console.WriteLine("{0} = {1}", valueName, regKey.GetValue(valueName));
}

// 关闭注册表项
regKey.Close();

以上代码会打开当前用户下的“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”键,并读取该键下的所有键值的名称和值,最后输出到控制台。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 注册表 操作实现代码 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • Asp.Net类库中发送电子邮件的代码

    发送电子邮件是现代应用程序中常见需求之一,Asp.Net类库也提供了相关的功能以便于开发者发送邮件。以下是关于使用Asp.Net类库发送电子邮件的完整攻略: 步骤1:导入命名空间 在使用Asp.Net类库发送电子邮件之前,需要导入以下命名空间: using System.Net; using System.Net.Mail; 这些命名空间分别提供了电子邮件相…

    C# 2023年5月31日
    00
  • C#编程实现动态改变配置文件信息的方法

    C#编程实现动态改变配置文件信息的方法 在C#应用程序中,我们经常使用配置文件来存储一些重要的数据或者一些配置信息。但是,有时候我们需要动态地修改配置文件的信息,例如在程序运行时读取当前登录用户的信息并保存到配置文件中。本文将详细讲解如何在C#应用程序中动态地修改配置文件信息。 步骤一:引入命名空间 在程序中使用XmlDocument类和XmlTextWri…

    C# 2023年6月1日
    00
  • C#中Activator.CreateInstance()方法用法分析

    C#中Activator.CreateInstance()方法用法分析 前言 C#中 Activator.CreateInstance() 方法是一种动态创建实例的方法。在实际项目中,我们常常需要动态加载程序集并创建其中的类型对象。这时,Activator.CreateInstance()方法就可以起到很好的作用。 方法说明 Activator.Create…

    C# 2023年5月31日
    00
  • ASP.NET MVC前台动态添加文本框并在后台使用FormCollection接收值

    下面是“ASP.NET MVC前台动态添加文本框并在后台使用FormCollection接收值”的完整使用攻略,包括创建视图、创建控制器和两个示例。 步骤1:创建 ASP MVC 项目 在 Visual Studio 中创建名为“DynamicTextBoxDemo”的 ASP.NET MVC 项目。 步骤2:创建视图 在 Views 文件夹中创建为“Ind…

    C# 2023年5月12日
    00
  • C#实现读取匿名对象属性值的方法示例总结

    针对此话题,下面我来详细讲解C#实现读取匿名对象属性值的方法示例总结的完整攻略。 什么是匿名对象 匿名对象是一种没有具体类名的对象,可以快速创建临时对象来存储数据。使用匿名对象可以避免编写大量的类定义,适合那些只需要在很短时间内存储数据的情况。 获取匿名对象属性值的方法 方法一:使用dynamic类型获取属性值 使用dynamic关键字可以通过属性名称直接获…

    C# 2023年6月1日
    00
  • C#实现强制关闭当前程序进程

    下面我将详细讲解一下“C#实现强制关闭当前程序进程”的完整攻略。 方案一:使用Process.Kill方法 可以使用Process.Kill()方法来强制关闭指定进程。需要先获取要关闭的进程的Process实例。示例代码如下: Process curProcess = Process.GetCurrentProcess(); // 获取当前进程 curPro…

    C# 2023年6月6日
    00
  • 解读ASP.NET 5 & MVC6系列教程(13):TagHelper

    解读ASP.NET 5 & MVC6系列教程(13):TagHelper 在 ASP.NET 5 & MVC6 中,TagHelper 是一种新的技术,它可以帮助我们更方便地生成 HTML 标记。本攻略将介绍如何使用 TagHelper。 步骤 步骤1:创建一个新的 ASP.NET 5 & MVC6 项目 首先,我们需要创建一个新的 …

    C# 2023年5月17日
    00
  • AOP从静态代理到动态代理(Emit实现)详解

    AOP从静态代理到动态代理(Emit实现)详解 概述 AOP(面向切面编程)是一种程序设计思想,可以在不改变原有代码逻辑的情况下,通过在程序中动态地新增一些逻辑代码,来实现例如日志记录、权限控制、性能监测等功能。而在 AOP 中,一个被增强的方法称为“切入点”,对该切入点进行增强的代码称为“切面”。 在实现 AOP 功能时,静态代理和动态代理是两种比较常见的…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部