以下從‘讀’‘寫’‘刪除’‘判斷’四個事例實現(xiàn)對注冊表的簡單操作
1.讀取指定名稱的注冊表的值 private string GetRegistData(string name) { string registData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); RegistryKey aimdir = software.OpenSubKey("XXX",true); registData = aimdir.GetValue(name).ToString(); return registData; } 以上是讀取的注冊表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下的XXX目錄中名稱為name的注冊表值; 2.向注冊表中寫數(shù)據(jù) private void WTRegedit(string name,string tovalue) { RegistryKey hklm = Registry.LocalMachine; RegistryKey software = hklm.OpenSubKey("SOFTWARE",true); RegistryKey aimdir = software.CreateSubKey("XXX"); aimdir.SetValue(name,tovalue); } 以上是在注冊表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下新建XXX目錄并在此目錄下創(chuàng)建名稱為name值為tovalue的注冊表項; 3.刪除注冊表中指定的注冊表項 private void DeleteRegist(string name) { string[] aimnames; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); RegistryKey aimdir = software.OpenSubKey("XXX",true); aimnames = aimdir.GetSubKeyNames(); foreach(string aimKey in aimnames) { if(aimKey == name) aimdir.DeleteSubKeyTree(name); } } 以上是在注冊表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下XXX目錄中刪除名稱為name注冊表項; 4.判斷指定注冊表項是否存在 private bool IsRegeditExit(string name) { bool _exit = false; string[] subkeyNames; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); RegistryKey aimdir = software.OpenSubKey("XXX",true); subkeyNames = aimdir.GetSubKeyNames(); foreach(string keyName in subkeyNames) { if(keyName == name) { _exit = true; return _exit; } } return _exit; } 以上是在注冊表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下XXX目錄中判斷名稱為name注冊表項是否存在,這一方法在刪除注冊表時已經(jīng)存在,在新建一注冊表項時也應(yīng)有相應(yīng)判斷; |
|