C# .NET修改註冊表

來源:互聯網
上載者:User

標籤:

c#修改註冊表,需要引用Microsoft.Win32命名空間

using Microsoft.Win32; //聲明 ///引用 RegistryKey reg; reg = Registry.ClassesRoot;

 

以下從‘讀’‘寫’‘刪除’‘判斷’四個案例實現對註冊表的簡單操作
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.向註冊表中寫資料
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目錄並在此目錄下建立名稱為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登錄機碼是否存在,這一方法在刪除註冊表時已經存在,在建立一登錄機碼時也應有相應判斷;

C# .NET修改註冊表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.