一、.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.對於已經存在的鍵值或項,則直接覆蓋不拋出異常
更多: