標籤:分支 包含 方便 http 存在 pre gis using path
一、引入命名空間:
using Microsoft.Win32;
二、建立登錄機碼:CreateSubKey(name)方法
添加SubKey時候首先要開啟一個表項,並設定參數為true,才能成功建立子項
//給要建立的註冊表設定一個變數,使用更方便
private string RegistFileName = "test";
/// <summary>/// 建立一個test登錄機碼,下麵包含OpenLog,和SaveLog兩個子項/// </summary>private void CreateRegistFile(){
//SOFTWARE在LocalMachine分支下
RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE",true); RegistryKey software = key.CreateSubKey(RegistFileName); RegistryKey test = key.OpenSubKey(RegistFileName,true); RegistryKey Savekey = test.CreateSubKey("SaveLog");}
三、刪除登錄機碼:DeleteSubKey(name,true)方法
RegistryKey key = Registry.LocalMachine;RegistryKey software = key.OpenSubKey("SOFTWARE", true);RegistryKey test = software.OpenSubKey(RegistFileName, true);test.DeleteSubKey("SaveLog",true);
四、添加索引值:SetValue(name,value)方法
/// <summary>/// 將path寫入OPenLog子項/// </summary>private void writeToRegistFile(string path){
RegistryKey key = Registry.LocalMachine;
RegistryKey software = key.OpenSubKey("SOFTWARE", true);
RegistryKey test = software.OpenSubKey(RegistFileName, true);
RegistryKey OpenPath = test.OpenSubKey("OpenLog",true);
//"name"是該索引值的name,相當於一個別名,可自行設定
OpenPath.SetValue("name", path);}
五、刪除索引值:DeleteValue(name)方法
RegistryKey key = Registry.LocalMachine;RegistryKey software = key.OpenSubKey("SOFTWARE", true);RegistryKey test = software.OpenSubKey(RegistFileName, true);
RegistryKey OpenPath = test.OpenSubKey("SaveLog",true);
//刪除SaveLog子項下的名為SaveLog的子鍵
OpenPath.DeleteValue("name");
六、判斷登錄機碼是否存在:
/// <summary>/// 判斷登錄機碼是否存在/// </summary>/// <returns>bool</returns>private bool IsRegeditItemExist(){ string[] subkeyNames; RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE"); subkeyNames = software.GetSubKeyNames(); //在這裡我是判斷test表項是否存在 foreach (string keyName in subkeyNames) { if (keyName == RegistFileName) { key.Close(); return true; } } key.Close(); return false;}
七、判斷索引值是否存在:
/// <summary>/// 判斷該路徑是否已經存在/// </summary>/// <param name="path">路徑</param>/// <returns></returns>private bool IsRegeditKeyExit(string name){string[] saveSubkeyNames; RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("SOFTWARE", true); RegistryKey test = software.OpenSubKey(RegistFileName, true); RegistryKey Savekey = test.OpenSubKey("SaveLog", true);
//擷取該子項下的所有索引值的名稱saveSubkeyNames saveSubkeyNames = Savekey.GetSubKeyNames();foreach(string keyName in openSubkeyNames) { if(keyName == name) { key.Close(); return false; } } key.Close(); return true;}
C#對註冊表的操作