C# 訪問操作注冊表整理


一、.net注冊表操作簡介

.net中Registry 類RegistryKey 類提供了操作注冊表的接口

RegistryValueKind,用於指定操作注冊表的數據類型。

二、使用實例

//獲取子節點數量
Console.WriteLine(Registry.LocalMachine.SubKeyCount);

//獲取所有自己點的鍵值
string[] subs = Registry.LocalMachine.GetSubKeyNames();
foreach (var item in subs)
{
    Console.WriteLine(item);
}

//打開子節點
RegistryKey sub1 = Registry.LocalMachine.OpenSubKey(subs[0]);
Console.WriteLine(sub1.Name); //HKEY_LOCAL_MACHINE\BCD00000000

//打開子節點2,特別說明不能\開頭,不能包含根節點
RegistryKey sub2 = Registry.LocalMachine.OpenSubKey(@"BCD00000000\Description", true);
Console.WriteLine(sub2.Name);//HKEY_LOCAL_MACHINE\BCD00000000\Description

//獲取項下的 鍵值
string[] names = sub2.GetValueNames();
foreach (var item in names)
{
    //獲取值
    Console.WriteLine(item + "--->" + sub2.GetValue(item));
}

//特別注意,如果想寫入內容,在打開注冊表的時候writable,需要設置成true
//創建鍵值
sub2.SetValue("zhangsan", "1234", RegistryValueKind.String);

//創建子項
RegistryKey sub3 = sub2.CreateSubKey("sub3");
sub3.SetValue("sub3_key", 1100, RegistryValueKind.DWord);

三、特別說明

1.打開注冊表示,不能\開頭,不能包含根節點

//打開子節點2,特別說明不能\開頭,不能包含根節點
RegistryKey sub2 = Registry.LocalMachine.OpenSubKey(@"BCD00000000\Description", true);
Console.WriteLine(sub2.Name);//HKEY_LOCAL_MACHINE\BCD00000000\Description

2.寫入注冊表當前程序需要有足夠的權限,推薦一管理員身份運行當前程序。

3.如果想寫入內容,在打開注冊表的時候writable,需要設置成true

4.對於已經存在的鍵值或項,則直接覆蓋不拋出異常

更多:

Registry 類

RegistryKey 類

注冊表相關枚舉

C#如何以管理員身份運行程序(轉)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM