惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
MongoDB | Blog
MongoDB | Blog
美团技术团队
H
Help Net Security
G
Google Developers Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
M
MIT News - Artificial intelligence
腾讯CDC
IT之家
IT之家
Vercel News
Vercel News
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
I
InfoQ
博客园 - 司徒正美
A
About on SuperTechFans

博客园 - huadust

msdn 网络编程 委托用法 DateTime各种用法 [转]将dll汇入exe 用DataTable构建树 Lock Review String Review Class Review DataTable opertion Drag DataGridView Data To TreeView 2009_01_15_星期三 2009_01_02_星期五 2008_12_31_星期三 2008_12_24_星期三 2008_12_20_星期六 2008_12_17_星期三 2008_12_06_星期六 2008_12_04_星期四
注册表操作
huadust · 2011-04-07 · via 博客园 - huadust

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注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断;