• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

使用C#如何写入/读取注册表信息

原作者: [db:作者] 来自: [db:来源] 收藏 邀请


本文节选自《21天学通C#》一书

    在一些系统软件开发中,常常将一些软件运行环境、系统配置等信息写入到注册表中,除非是所谓的绿色软件。

    在Windows平台上的软件,几乎都会和注册表打交道。在本节中,将介绍如何将信息写入到注册表中。

    【范例19
-5】在本例中演示如何使用RegistryKey类将信息写入到注册表中,如示例代码19-5所示。

    示例代码19
-5
01    using Microsoft.Win32;                                        //关于注册表的命名空间
02    namespace Ex_19_5
03    {
04        public partial class Form1 : Form
05        {
06            public Form1()                                        //窗口类的构造函数
07            {
08                InitializeComponent();                            //完成窗口的初始化工作
09            }
10            private void Form1_Load(object sender, EventArgs e)
                                                                        
//窗体加载事件
11            {
12                RegistryKey rsg = null;                            //声明一个变量
13                if (Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft").SubKeyCount <= 0)
14                {
15                    Registry.LocalMachine.DeleteSubKey("SOFTWARE\\Microsoft");
                                                                        
//删除 
16                    Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft");
                                                                        
//创建
17                }
18                rsg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft"true);    //true表可以修改
19                rsg.SetValue("HoanReg""写入的值");       //写入
20                rsg.Close();                                            //关闭
21            }
22        }
23    }
【运行结果】选择“调试”
|“启动调试”命令运行程序。

【代码解析】在本例中,写入注册表之前,首先要判断是否存在注册键,第13行代码就是实现这个功能的。

在第16行中,如果不存在注册键就创建它,然后在第19行进行写入,写入之前先要打开,

将OpenSubKey方法的第二个参数设置成true,表示可写。

【读取注册表】

读取注册表在软件开发中,也是一项很常见的任务。因为很多软件的相关环境变量都是存储在注册表中。

例如,在Windows操作系统中,IE的主页地址信息就是存储在注册表中,甚至计算机名称、用户名等信息也是存储在注册表中的。

【范例19
-6】在本例中,将读取在范例19-5中写入的注册表信息,如示例代码19-6所示。

示例代码19
-6
01    using Microsoft.Win32;                                    //注册表命名空间
02    namespace Ex_19_7
03    {
04        public partial class Form1 : Form
05        {
06            public Form1()                                    //窗口类
07            {
08                InitializeComponent();                        //完成初始化
09            }
10            private void button1_Click(object sender, EventArgs e)    
                                                                    
//铵钮单击事件
11            {
12                try                                                //可能有异常,放在try块中
13                {
14                    RegistryKey rsg = null;                    //声明变量
15                      rsg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft"true); //true表可修改
16                    if (rsg.GetValue("HoanReg"!= null)  //如果值不为空
17                    {
18                        this.textBox1.Text = rsg.GetValue("HoanReg").ToString();                                                            //读取值
19                    }
20                    else
21                        this.label1.Text = "该键不存在!";
22                    rsg.Close();                            //关闭
23                }
24                catch (Exception ex)                        //捕获异常
25                {
26                    this.label1.Text = ex.Message;            //显示异常信息
27                }
28            }
29        }
30    }
【运行结果】选择“调试”
|“启动调试”命令运行程序。

【代码解析】在本例中,要读取的值是上一个例子中写入的值。在第15行代码处首先打开要读取的注册键,

然后在第16行用if语句和GetValue方法判断是否有数据读出。如果有读出,则在第18行中将它赋给文本框。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#修改AD账号及密码发布时间:2022-07-14
下一篇:
C#保存Base64格式图片发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap