1.首先,必須導入空間"Microsoft.Win32" 2.利用Registry類,確定注冊表的分支(ClassesRoot,CurrentUser,Users,LocalMachine,CurrentConfig)
using Microsoft.Win32;
RegistryKey key = Registry.LocalMachine; 3.創(chuàng)建/打開/刪除注冊表項 RegistryKey key = Registry.LocalMachine; //創(chuàng)建 //注意:注冊表路徑一定是"\\"而不是"\" RegistryKey software = key.CreateSubKey("software\\MyApp"); //打開(true表示可以寫入) RegistryKey software = key.OpenSubKey("software\\MyApp",true); RegistryKey Product = software.CreateSubKey("Product"); //刪除 key.DeleteSubKey("software\\MyApp",true); //記得關閉,兩個都要關 key.Close(); ProductID.Close(); 4.創(chuàng)建/打開/刪除鍵值 RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("software\\My",true); //寫入 software.SetValue("ProductID", "Leo Tian's blog"); //讀取 string info = ""; info = software.GetValue("ProductID").ToString(); //刪除 software.DeleteValue("test"); //關閉 software.Close() 5.最后貼出兩個判斷函數(shù) //判斷項目是否存在 private bool IsRegeditItemExist(RegistryKey RegBoot, string ItemName) { if (ItemName.IndexOf("\\") <= -1) { string[] subkeyNames; subkeyNames = RegBoot.GetValueNames(); foreach (string ikeyName in subkeyNames) //遍歷整個數(shù)組 { if (ikeyName == ItemName) //判斷子項的名稱 { return true; } } return false; } else { string[] strkeyNames = ItemName.Split('\\'); RegistryKey _newsubRegKey = RegBoot.OpenSubKey(strkeyNames[0]); string _newRegKeyName = ""; int i; for(i=1;i<strkeyNames.Length;i++) { _newRegKeyName = _newRegKeyName + strkeyNames[i]; if(i!=strkeyNames.Length-1) { _newRegKeyName = _newRegKeyName + "\\"; } } return IsRegeditItemExist(_newsubRegKey,_newRegKeyName); } } //判斷鍵值是否存在 private bool IsRegeditKeyExist(RegistryKey RegBoot, string RegKeyName) { string[] subkeyNames; subkeyNames = RegBoot.GetValueNames(); foreach (string keyName in subkeyNames) { if (keyName == RegKeyName) //判斷鍵值的名稱 { return true; } } return false; }
|
|
來自: 昵稱10504424 > 《C#》