日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

.NET5實現(xiàn)操作注冊表的方法_實用技巧

作者:痕跡g ? 更新時間: 2022-04-13 編程語言

關(guān)于注冊表

注冊表是存儲設(shè)備,用于提供有關(guān)應(yīng)用程序、用戶和默認系統(tǒng)設(shè)置的信息。 例如,應(yīng)用程序可以使用注冊表存儲需要在應(yīng)用程序關(guān)閉后保留的信息,并在重新加載應(yīng)用程序時訪問相同的信息。 例如,你可以存儲顏色首選項、屏幕位置或窗口大小。 可以通過將信息存儲在注冊表中的不同位置來控制每個用戶的此數(shù)據(jù)。

說明

C#中操作注冊表,我們需要使用Registry類,提供表示 Windows 注冊表中的根項的 RegistryKey 對象,并提供訪問項/值對的 static 方法。

命名空間: Microsoft.Win32

程序集: Microsoft.Win32.Registry.dll

public static class Registry

在.Net Framework x.應(yīng)用當(dāng)中,我們只需要添加Microsoft.Win32即可。

using Microsoft.Win32;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            //在存儲有關(guān)用戶首選項的信息下面創(chuàng)建了一個子項TestKey
            RegistryKey testKey = Registry.CurrentUser.CreateSubKey("TestKey");
        }
    }
}

而在.NET 5當(dāng)中,該功能不再默認提供,需要單獨在NuGet安裝,如下所示:

關(guān)于Registry類的使用范圍如下:

RegistryKey

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

字段

  • CurrentUser 存儲有關(guān)用戶首選項的信息。
  • LocalMachine 存儲本地計算機的配置信息。
  • ClassesRoot 存儲有關(guān)類型 (和類) 及其屬性的信息。
  • Users 存儲有關(guān)默認用戶配置的信息。
  • PerformanceData 存儲軟件組件的性能信息。
  • CurrentConfig 存儲非用戶特定的硬件信息。
  • DynData 存儲動態(tài)數(shù)據(jù)。

方法

Registry類還包含 static GetValue SetValue 用于設(shè)置和檢索注冊表項中的值的方法。 這些方法在每次使用注冊表項時都將其打開和關(guān)閉,因此 RegistryKey 當(dāng)你訪問大量值時,它們不會在類中執(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");


            //讀取子項當(dāng)中的值
            var readKey = testKey.OpenSubKey("Name");

            //idString=123
            var idString = readKey.GetValue("Id").ToString();

            //刪除子項
            testKey.DeleteSubKey("Name");
        }
    }
}

效果

打開Windows注冊表編輯器, 會發(fā)現(xiàn)上一步創(chuàng)建的注冊表項,會在指定的頂級節(jié)點當(dāng)中

原文鏈接:https://www.cnblogs.com/zh7791/p/14297316.html

欄目分類
最近更新