.NET5實現(xiàn)操作注冊表的方法
關于注冊表
注冊表是存儲設備,用于提供有關應用程序、用戶和默認系統(tǒng)設置的信息。 例如,應用程序可以使用注冊表存儲需要在應用程序關閉后保留的信息,并在重新加載應用程序時訪問相同的信息。 例如,你可以存儲顏色首選項、屏幕位置或窗口大小。 可以通過將信息存儲在注冊表中的不同位置來控制每個用戶的此數(shù)據(jù)。
說明
C#中操作注冊表,我們需要使用Registry類,提供表示 Windows 注冊表中的根項的 RegistryKey 對象,并提供訪問項/值對的 static 方法。
命名空間: Microsoft.Win32
程序集: Microsoft.Win32.Registry.dll
public static class Registry
在.Net Framework x.應用當中,我們只需要添加Microsoft.Win32即可。
using Microsoft.Win32;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
//在存儲有關用戶首選項的信息下面創(chuàng)建了一個子項TestKey
RegistryKey testKey = Registry.CurrentUser.CreateSubKey("TestKey");
}
}
}而在.NET 5當中,該功能不再默認提供,需要單獨在NuGet安裝,如下所示:

關于Registry類的使用范圍如下:

RegistryKey
RegistryKey 表示 Windows 注冊表中的項級節(jié)點。Registry 靜態(tài)類中提供了多種公開RegistryKey。
字段

- CurrentUser 存儲有關用戶首選項的信息。
- LocalMachine 存儲本地計算機的配置信息。
- ClassesRoot 存儲有關類型 (和類) 及其屬性的信息。
- Users 存儲有關默認用戶配置的信息。
- PerformanceData 存儲軟件組件的性能信息。
- CurrentConfig 存儲非用戶特定的硬件信息。
- DynData 存儲動態(tài)數(shù)據(jù)。
方法
Registry類還包含 static GetValue SetValue 用于設置和檢索注冊表項中的值的方法。 這些方法在每次使用注冊表項時都將其打開和關閉,因此 RegistryKey 當你訪問大量值時,它們不會在類中執(zhí)行和類似的方法。

創(chuàng)建/讀取/刪除 注冊表鍵
using Microsoft.Win32;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個TestKey注冊表鍵值
RegistryKey testKey = Registry.CurrentUser.CreateSubKey("TestKey");
//創(chuàng)建子項
var nameKey = testKey.CreateSubKey("Name");
//創(chuàng)建鍵值
nameKey.SetValue("Id", 123);
nameKey.SetValue("Language", "China");
//讀取子項當中的值
var readKey = testKey.OpenSubKey("Name");
//idString=123
var idString = readKey.GetValue("Id").ToString();
//刪除子項
testKey.DeleteSubKey("Name");
}
}
}效果
打開Windows注冊表編輯器, 會發(fā)現(xiàn)上一步創(chuàng)建的注冊表項,會在指定的頂級節(jié)點當中

到此這篇關于.NET5實現(xiàn)操作注冊表的方法的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Asp.Net Core輕松學之利用日志監(jiān)視進行服務遙測詳解
這篇文章主要給大家介紹了關于Asp.Net Core輕松學之利用日志監(jiān)視進行服務遙測的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-12-12
.NET Core中使用Redis與Memcached的序列化問題詳析
這篇文章主要介紹了.NET Core中使用Redis與Memcached的序列化問題的相關內(nèi)容,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-03-03
asp.net mvc signalr簡單聊天室制作過程分析
這篇文章主要為大家分析了asp.net mvc signalr簡單聊天室制作過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
Asp.Net?Core配置多環(huán)境log4net配置文件的全過程
在.NET世界中有非常多的日志框架,然而log4net是目前為止最流行的一款日志框架,下面這篇文章主要給大家介紹了關于Asp.Net?Core配置多環(huán)境log4net配置文件的相關資料,需要的朋友可以參考下2022-04-04
asp.net+jquery Gridview的多行拖放, 以及跨控件拖放
學習JQuery時,發(fā)現(xiàn)JQuery只能做單行拖放, 于是花時間做了一個多行拖放的例子, 以備以后使用。2009-11-11
asp.net String.IsNullOrEmpty 方法
2009-04-04
使用源鏈接對ASP.NET Core源代碼進行調(diào)試
這篇文章介紹了使用源鏈接對ASP.NET Core源代碼進行調(diào)試的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-02-02

