C#/Asp.Net简单操作注册表

作者:outlela  来源:本站原创   发布时间:2020-3-20 9:6:35

注册表很多软件都可以获取值和更改值,所以软件重要内容不建议放注册表。

本篇内容实践一下用C#操作注册表


1.首先要引用微软官方提供的命名空间:【using Microsoft.Win32】

using Microsoft.Win32;

2.Microsoft.Win32提供了一个类:RegistryKey,提供了注册表第一层分支,包含:

CurrentUser 存储有关用户首选项的信息。

LocalMachine 存储本地计算机的配置信息。

ClassesRoot 存储有关类型(和类)及其属性的信息。

Users 存储有关默认用户配置的信息。

PerformanceData 存储软件组件的性能信息。

CurrentConfig 存储非用户特定的硬件信息。

DynData 存储动态数据。


例如:定位到 【LocalMachine 】

RegistryKey key = Registry.LocalMachine;


3.打开已知的下一层目录,例如打开【LocalMachine】下的【SOFTWARE】

Registry.LocalMachine.OpenSubKey("SOFTWARE");


注册表具体操作如下:

 1:创建:创建注册表项主要用到RegistryKey 的CreateSubKey()方法。如:

RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.CreateSubKey("test");//

注意:如果注册表已经存在也不会抛错!


2:打开:打开注册表项主要用到RegistryKey 的OpenSubKey()方法。如:

RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("test", true或者false);

注意:该方法后面还可以有一个布尔型的参数,true表示可以写入,默认为false。


3:删除:删除注册表项主要用到RegistryKey 的DeleteSubKey()方法。如:

RegistryKey key = Registry.LocalMachine;
key.DeleteSubKey("test",true); //该方法无返回值,直接调用即可
key.Close();

注意:如果该注册表项不存在,方法会抛出异常


4:创建(设置值、修改):

对键值的创建修改等操作主要用到RegistryKey 的SetValue()方法

RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("software", true); //定位该项必须已存在
software.SetValue("test", "TEST ONCE MORE");

5:比如打开注册表获取激活密钥

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform", false);
var s=key.GetValue("BackupProductKeyDefault");


image.png

*本文最后修改于:2020-3-20 9:50:43
本文标签: C# Asp.Net 简单 操作 注册表
本文由本站原创发布, 本文链接地址:https://outlela.com/Code/73.html
转载或引用请保留地址并注明出处:outlela.com