注册表(C#)
Windowa注册表是包含Windows安装,用户喜好以及以安装软件和设备的所有配置信息的核心储存库。COM组件必须把它的信息出存在注册表中,才能被客户程序使用。注册表也包含了一些系统配置的信息,这些信息根据操作系统的不同而不同。注册表中的所有信息都是分类保存的,“主键”是各个大的信息分类名称,注册表中的所有信息均被分类存放在相应的主键中。一般包括5个主键:HKEY_CLASSES_ROOT(保存在系统中注册的各类文件的控制名以及文件关联等信息),HKEY_CURRENT_USER(保存登陆到系统的当前用户的计算机的环境变量,桌面设置,应用程序设置,个人程序设置,网络连接等信息),HKEY_LOCAL_MACHINE(保存计算机的硬件,软件及操作系统的配置信息),HKEY_USERS(保存计算机所有用户的配置信息),HKEY_CURRENT_CONFIG(存放计算机当前的硬件配置信息,此主键实际上是HKEY_LOCAL_MACHINE中的一部分)。
操作注册表之前要导入命名空间:using Microsoft.Win32
Registry类是其中的一个常用类,有7个字段:ClassRoot、CurrentConfig、CurrentUser、DynData、LacalMachine、Performanceata、Users
Registry类是通过静态的只读字段来提供RegistryKey实例的
如:RegistryKey rk=Registry.LacalMachine;
1.)用OpenSubKey方法打开注册表
private void Form1_Load(object sender, EventArgs e)
{
this.Box.Items.Clear();
//创建RegistryKey实例
RegistryKey rk = Registry.CurrentUser;
//使用OpenSubKey方法打开HKEY_CURRENT_USER\Software项下的所有子项
RegistryKey a = rk.OpenSubKey(@"Software");
foreach(string str in a.GetSubKeyNames())
{
this.Box.Items.Add("子项名:" + str);
RegistryKey b = a.OpenSubKey(str);
foreach(string c in b.GetValueNames())
{
this.Box.Items.Add(c + b.GetValue(c));
}
}
}
2.)创建及修改注册表信息
//创建RegistryKey实例
RegistryKey rk = Registry.CurrentUser;
//使用OpenSubKey方法打开HKEY_CURRENT_USER\Software项
RegistryKey a = rk.OpenSubKey("Software", true);
RegistryKey b = a.CreateSubKey("111");
b.SetValue("1", "2");
//修改注册表
b.SetValue("1", "3");
通常情况下,只允许在本机修改注册表,而不允许远程修改注册表
3.)删除注册表中信息
(1)DeleteSubKey方法:删除不包含任何子项的子项
(2)DeleteSubKeyTree方法:彻底删除指定的子项目录,包括该子项以及其以下的全部子项(谨慎使用)
(3)DeleteValue方法:删除指定的键值对
注册表(C#)的更多相关文章
- Win.ini和注册表的读取写入
最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中.下面介绍一下Win.ini文件的读写方法和注册表的编程. 先介绍下Win.i ...
- 卸载oracle之后,如何清除注册表
之前卸载了oracle,今天偶然间发现,在服务和应用程序里面,还残存着之前的oracle服务.原来,还需要去清理下注册表. 在开始菜单的这个框里面 输入regedit,进入注册表.找到这个目录 HKE ...
- 利用注册表在右键添加VS15的快捷方式打开文件夹
1.简介 最近安装VS15 Preview 5,本版本可以打开"文件夹" 是否可以向Visual Studio Code一样在文件夹或文件右键菜单添加"Open with ...
- 修改策略组/注册表 屏蔽Win10升级解决方法
一.Windows非家庭版 第1步:按Win+R键调出运行对话框,输入命令“gpedit.msc”,按回车键启动组策略编辑器. 第2步:依次定位到“计算机配置→管理模板→Windows组件→Windo ...
- Windows 7安装软件时无法将注册值写入注册表的处理方法
1. 我们来确认一下,有没有安装什么软件把注册表给封了.如杀毒软件,防火墙等.把这些软件关了之后,再安装软件试试:如果不行,就把杀毒软件卸载了,再安装软件试试. 2. 更改组策略设置 步骤: 开始-运 ...
- MFC操作注册表
1.创建和修改注册表 BOOL CTestToolCtr::GetHkey(CString strHkey, HKEY& hkey) { == strHkey.CompareNoCase(_T ...
- Win 通过修改注册表把CapsLock映射为Rshift
成品: REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancod ...
- js通过注册表找到本地软件安装路径并且执行
场景:用js执行本地的安装软件,如果不存在就执行安装 操作步骤: 1.前台js代码 <script type="text/javascript"> function e ...
- 修改注册表 去除Windows快捷方式图标小箭头
一些朋友不喜欢Windows系统中快捷方式图标上面的小箭头,下面介绍如何修改注册表去除快捷方式图标上的小箭头. 1.开始->运行->输入regedit,启动注册表编辑器,然后; 2.依次展 ...
- 弥补学生时代的遗憾~C#注册表情缘
记得当时刚接触C#的时候,喜欢编写各种小软件,而注册表系列和网络系列被当时的我认为大牛的必备技能.直到我研究注册表前一天我都感觉他是那么的高深. 今天正好有空,于是就研究了下注册表系列的操作,也随手封 ...
随机推荐
- SDOI 2016 生成魔咒
题目大意:一个字符串,刚开始为空,依次在后面添加一个字符,问每次添加完字符后本质不同的字符串有多少种 后缀自动机裸题,添加字符时,更新的结点个数即为新增加的子串 #include<bits/st ...
- 【腾讯优测干货分享】Android 相机预览方向及其适配探索
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...
- 一个App完成入门篇(六)- 完成通讯录页面
第五章和第六章间隔时间有点长,对不起大家了.下面继续. 本节教程将要教会大家如何加载本地通讯录. 导入项目 导入通讯录 自定义js模块 发送和订阅page消息 将要学习的demo效果图如下所示 1. ...
- 掀起你的盖头来:Unit Of Work-工作单元
写在前面 阅读目录: 概念中的理解 代码中的实现 后记 掀起了你的盖头来,让我看你的眼睛,你的眼睛明又亮呀,好像那水波一模样:掀起了你的盖头来,让我看你的脸儿,看看你的脸儿红又圆呀,好像那苹果到秋天. ...
- .NET 基础 一步步 一幕幕 [前言]
.NET 基础 一步步 一幕幕 [前言部分] 本人小白一枚,虽然说从去年就开通博客了,到现在也没有写多少东东,虽然工作了,也没有更好得总结.故此重新祭出博客园法宝,修炼技术,争取早日走上大神之位. 故 ...
- css浮雕效果
浮雕效果 今天看百度地图看到了一个效果 感觉这个效果用在网页上应该蛮赞的,于是就学习了一下 浮雕效果需要用到伸缩盒的知识(flex) flex在chrome是完全支持的,要加-webkit-前缀,其他 ...
- JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- Uiautomator 2.0之UiObject2类学习小记
1. 基础动作 1.1. 相关API介绍 API 说明 clear() 清楚编辑框内的内容 click() 点击一个对象 clickAndWait(EventCondition<R> co ...
- win7+IIS7下木有4.0框架问题的解决方案
- 利用Bootstrap快速搭建个人响应式主页(附演示+源码)
1.前言 我们每个程序员都渴望搭建自己的技术博客平台与他人进行交流分享,但使用别人的博客模板没有创意.做网站后台的开发人员可能了解前端,可是自己写一个不错的前端还是很费事的.幸好我们有Bootstra ...