吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7055|回复: 3
收起左侧

[其他转载] CSharp DotNet(C#.net) 操作注册表

[复制链接]
mycsy 发表于 2009-2-21 16:20
这方面的实例比较少 搜集了几位的例子

自己也做了个小例子


这是一个获得当前IE主页

和更改IE主页的小程序

高人见笑了!

在这里完全是充当一个小实例

=======================

/*
* Created: SharpDevelop.
* User: Csy
* Date: 2008-12-29
* Time: 10:11.
*/

RegistryKey myRKCN = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main"); //IE的默认主页位置
            foreach (string myIEName in myRKCN.GetValueNames())
            {
                if (myCpName == "Start Page") //主页的键
                {
                    this.label1.Text = myRKCN.GetValue(myIEName).ToString(); //用它的GetValue方法获得主页地址并赋给Labl1
                }
                else
                {
                    continue;
                }
            }

// 在程序的Load事件中读取到IE原默认主页显示到LABEL中


RegistryKey myRKCN = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main",true);
            foreach (string site in myRKCN.GetValueNames())
            {
                if (site == "Start Page")
                {
                    myRKCN.DeleteValue(site, false);
                    myRKCN.SetValue("Start Page", this.textBox2.Text);
                }
                else
                {
                    continue;
                }
            }
            MessageBox.Show("修改成功");


//修改按钮的代码 和Load中的代码大同小异

使用了DeleteValue和SetValue两个方法。

=======================


private string GetRegistData(string name)
{
   string registData;
   RegistryKey RegKey = Registry.LocalMachine;
   RegistryKey RegKey1= RegKey.OpenSubKey("SOFTWARE",true);
   RegistryKey RegKey2 = software.OpenSubKey("XXX",true);
   registData = RegKey2.GetValue(name).ToString();
   return registData;
}
以上是读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为name的注册表值;

2.向注册表中写数据
private void WTRegedit(string name,string tovalue)
{
   RegistryKey hklm = Registry.LocalMachine;
   RegistryKey RegKey1= hklm.OpenSubKey("SOFTWARE",true);
   RegistryKey RegKey2 = software.CreateSubKey("XXX");
   RegKey2.SetValue(name,tovalue);
}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项;

3.删除注册表中指定的注册表项
private void DeleteRegist(string name)
{
   string[] aimnames;
   RegistryKey RegKey = Registry.LocalMachine;
   RegistryKey RegKey1= RegKey.OpenSubKey("SOFTWARE",true);
   RegistryKey RegKey2 = software.OpenSubKey("XXX",true);
   aimnames = RegKey2.GetSubKeyNames();
   foreach(string aimKey in aimnames)
   {
     if(aimKey == name)
     RegKey2.DeleteSubKeyTree(name);
   }
}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中删除名称为name注册表项;

4.判断指定注册表项是否存在
private bool IsRegeditExit(string name)
{
   bool _exit = false;
   string[] subkeyNames;
   RegistryKey RegKey = Registry.LocalMachine;
   RegistryKey RegKey1= RegKey.OpenSubKey("SOFTWARE",true);
   RegistryKey RegKey2 = software.OpenSubKey("XXX",true);
   subkeyNames = RegKey2.GetSubKeyNames();
   foreach(string keyName in subkeyNames)
   {
     if(keyName == name)
     {
       _exit = true;
       return _exit;
     }
   }
   return _exit;
}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中判断名称为name注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断
2a32d719bd812464dbb4bd7f.jpg

免费评分

参与人数 1威望 +1 收起 理由
zapline + 1 感谢发布原创作品,[吾爱破解]因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

紫轩冰凌 发表于 2009-2-21 17:29
小东西不错!
luo8268326 发表于 2010-11-22 23:24
头像被屏蔽
zjnucgzx 发表于 2013-1-31 15:35
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 13:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表