C#操作注册表Word格式.docx
《C#操作注册表Word格式.docx》由会员分享,可在线阅读,更多相关《C#操作注册表Word格式.docx(19页珍藏版)》请在冰点文库上搜索。
![C#操作注册表Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/4a1b6754-9176-4921-9134-febd7c8c0a96/4a1b6754-9176-4921-9134-febd7c8c0a961.gif)
"
NET
Developer"
21.
22.
从注册表的其他地方获取数据
23.
24.
找出你的CPU
25.
26.RegistryKey
pRegKey
Registry.LocalMachine;
27.
28.pRegKey
pRegKey.OpenSubKey("
HARDWAREDESCRIPTIONSystemCentralProcessor"
29.
30.Object
val
pRegKey.GetValue("
VendorIdentifier"
31.
32.Debug.WriteLine("
The
central
processor
of
this
machine
is:
+
val);
33.
34.
删除键值,C#操作注册表
35.
36.RegistryKey
delKey
37.
38.delKey.DeleteSubKey("
39.
40.}
C#操作注册表的简单例子就向你讲解到这里,希望对你学习和了解C#操作注册表有所帮助。
∙C#操作注册表之读取操作浅析
C#操作注册表之读取操作是如何实现的呢?
让我们开始吧:
读取指定名称的注册表的值
1.private
string
GetRegistData(string
name)
//C#操作注册表之读取操作
3.{
5.string
registData;
7.RegistryKey
hkml
9.Registry.LocalMachine;
11.
12.RegistryKey
software
14.hkml.OpenSubKey("
SOFTWARE"
true);
15.
17.RegistryKey
aimdir
18.
19.software.OpenSubKey("
XXX"
20.
22.registData
aimdir.
24.GetValue(name).ToString();
26.
27.return
28.
29.}
以上是读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为name的注册表值;
∙C#操作注册表之写入操作浅析
C#操作注册表之写入操作是如何实现的呢?
让我们开始介绍吧:
向注册表中写数据
1.
2.private
WTRegedit(string
name,string
tovalue)
3.
//C#操作注册表之写入操作
4.{
5.
6.RegistryKey
hklm
7.
8.Registry.LocalMachine;
13.hklm.OpenSubKey("
15.
16.RegistryKey
18.software.CreateSubKey("
21.aimdir.SetValue(name,tovalue);
24.}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项;
∙C#操作注册表之删除操作浅析
C#操作注册表之删除操作是如何实现的呢?
让我们来看看具体的操作吧:
删除注册表中指定的注册表项
DeleteRegist(string
//C#操作注册表之删除操作
5.string[]
aimnames;
10.
22.aimnames
24.GetSubKeyNames();
27.foreach(string
aimKey
in
aimnames)
29.{
30.
32.if(aimKey
==
34.aimdir.DeleteSubKeyTree(name);
36.}
38.}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中删除名称为name注册表项。
∙C#操作注册表之判断指定操作浅析
C#操作注册表之判断指定操作是如何实现的呢?
让我们来看看具体的实例演示:
判断指定注册表项是否存在
bool
IsRegeditExit(string
name)
//C#操作注册表之判断指定操作
3.{
5.bool
_exit
false;
7.string[]
subkeyNames;
9.RegistryKey
11.Registry.LocalMachine;
13.RegistryKey
15.hkml.OpenSubKey("
21.subkeyNames
23.GetSubKeyNames();
25.foreach(string
keyName
subkeyNames)
27.{
29.if(keyName
31.{
32.
33._exit
true;
35.return
_exit;
36.
37.}
38.
39.}
40.
41.return
42.
43.}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中判断名称为name注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断.
∙C#中操作注册表常用方法与函数浅析
C#中操作注册表常用方法与函数都是什么呢?
让我们开始一一介绍:
在VC#中提供了Registry类、RegistryKey类来实现对注册表的操作。
◆C#中操作注册表常用方法与函数之Registry类封装了注册表的七个基本主健:
Registry.ClassesRoot
对应于HKEY_CLASSES_ROOT主键
Registry.CurrentUser
对应于HKEY_CURRENT_USER主键
Registry.LocalMachine
对应于HKEY_LOCAL_MACHINE主键
Registry.User
对应于HKEY_USER主键
Registry.CurrentConfig
对应于HEKY_CURRENT_CONFIG主键
Registry.DynDa对应于HKEY_DYN_DATA主键
Registry.PerformanceData对应于HKEY_PERFORMANCE_DATA主键
RegistryKey类封装了对注册表的基本操作,包括读取,写入,删除。
◆C#中操作注册表常用方法与函数之读取的主要函数有:
OpenSubKey(stringname)方法
主要是打开指定的子键。
GetSubKeyNames()方法
是获得主键下面的所有子键的名称,它的返回值是一个字符串数组。
GetValueNames()方法
是获得当前子键中的所有的键名称,它的返回值也是一个字符串数组。
GetValue(stringname)方法
是指定键的键值。
◆C#中操作注册表常用方法与函数之写入的函数:
CreateSubKey(stringname)方法
是增加一个子键
SetValue(stringname,stringvalue)方法
是设置一个键的键值
◆C#中操作注册表常用方法与函数之删除的函数:
DeleteSubKey()方法:
删除一个指定的子键。
DeleteSubKeyTree()方法:
此方法是彻底删除指定的子键目录,即:
删除该子键以及该子键以下的全部子键。
∙C#操作注册表实例实践浅析
C#操作注册表实例实践需要注意什么呢?
那开始我们的讲解吧:
在下面的例子里,要注意:
建项函数:
CreateSubKey()
建子键函数:
SetValue();
1.class
Program
//C#操作注册表实例实践
5.static
Generateguid()//建立GUID值的函数
6.{
7.return
System.Guid.NewGuid().ToString();
8.}
9.static
Main(string[]
args)
10.{
pregkey;
12.string
preName;
13.//pregkey
Registry.CurrentUser.OpenSubKey(
14."
Control
Panel\\Desktop\\WindowMetrics"
15.pregkey
Registry.LocalMachine.OpenSubKey(
16."
SOFTWARE\\Microsoft\\Internet
Explorer\\Extensions"
17.//以只读方式检索子项
18.if
(pregkey
null)
19.{
20.Console.WriteLine("
该键值不存在"
22.}
23.else
24.{
25.preName
Generateguid();
26.Console.WriteLine(preName);
27.Console.WriteLine("
找到该键值"
28.preName
{"
preName
}"
;
29.//pregkey.SetValue("
MinAnimate"
"
1"
30.pregkey.CreateSubKey(preName);
31.//建立子项
32.pregkey
33."
Explorer\\Extensions\\"
+preName,
34.true);
35.//pregkey.SetValue("
bbbbb"
0"
36.//建立子键,如果有此子键,则设值。
37.pregkey.SetValue("
ButtonText"
添加"
38.//鼠标放到bar上时显示的文字
39.pregkey.SetValue("
CLSID"
40."
{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}"
41.//CLSID固定
42.pregkey.SetValue("
Default
Visible"
yes"
43.//默认可看见
C#操作注册表实例实践
44.pregkey.SetValue("
Exec"
D:
/IEbar/IEpinout.exe"
45.//关联的exe文件
46.pregkey.SetValue("
HotIcon"
/IEbar/Icon2.ico"
47.//鼠标放到bar上时显示的图样
48.pregkey.SetValue("
Icon"
/IEbar/Icon1.ico"
49.//鼠标未放在bar上时显示的图样
50.//pregkey.SetValue("
MenuStatusBar"
杨"
51.//pregkey.SetValue("
MenuText"
我是杨!
52.
53.}
54.pregkey.Close();
55.}
56.}
此例子在vs2005,xp系统下调试通过。
生成exe文件,直接运行,然后打开ie查看工具栏上的效果。
注意:
必需要有"
和"
这两个文件,否则在ie上看不出效果。
∙C#中操作注册表的五大主键浅析
C#中操作注册表的五大主键:
Windows操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的,其中第二级目录包含了五个预定义主键分别是:
HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。
下面我们来分别解释C#中操作注册表的五大主键
◆C#中操作注册表的五大主键之HKEY_CLASSES_ROOT
该主键包含了文件的扩展名和应用程序的关联信息以及WindowShell和OLE用于储存注册表的信息。
该主键下的子键决定了在WINDOWS中如何显示该类文件以及他们的图标,该主键是从HKEY_LCCAL_MACHINE\SOFTWARE\Classes映射过来的。
◆C#中操作注册表的五大主键之HKEY_CURRENT_USER
该主键包含了如用户窗口信息,桌面设置等当前用户的信息。
◆C#中操作注册表的五大主键之HKEY_LOCAL_MACHINE主键
包含了计算机软件和硬件的安装和配置信息,该信息可供所有用户使用
◆C#中操作注册表的五大主键HKEY_USERS
该主键记录了当前用户的设置信息,每次用户登入系统时,就会在该主键下生成一个与用户登入名一样的子键,该子键保存了当前用户的桌面设置、背景位图、快捷键,字体等信息。
一般应用程序不直接访问改主键,而是通过主键HKEY_CURRENT_USER进行访问。
◆C#中操作注册表的五大主键HKEY_CURRENT_CONFIG
该主键保存了计算机当前硬件的配置信息,这些配置可以根据当前所连接的网络类型或硬件驱动软件安装的改变而改变。
C#也支持对注册表的编辑,.NET框架在Microsoft.Win32名字空间中提供了两个类来操作注册表:
Registry和RegistryKey。
这两个类都是密封类不允许被继承。
下面我们分别来介绍这两个类。
Registry类提供了7个公共的静态域,分别代表7个基本主键(其中两个在XP系统中没有,在这就不介绍了)分别是:
Registry.ClassesRoot,Registry.CurrentUser,Registry.LocalMachine,Registry.Users,Registry.CurrentConfig。
它们分别对应哪几个键我想各位一看就会知道吧。
RegistryKey类中提供了对注册表操作的方法。
要注意的是操作注册表必须符合系统权限,否则将会抛出错误。
∙C#操作注册表常用方法详解
C#操作注册表常用方法有哪些呢?
下面我们就来几个操作注册表常用的几个方法:
C#操作注册表常用方法之创建子键的方法原型为:
1.public
RegistryKey
CreateSubKey(string
sunbkey);
参数sunbkey表示要创建的子键的名称或路径名。
创建成功返回被创建的子键,否则返回null。
C#操作注册表常用方法之打开子键的方法原型为:
2.public
OpenSubKey(string
name);
3.public
name,bool
writable);
参数name表示要打开的子键名或其路径名,参数writable表示被打开的子键是否允许被修改,第一个方法打开的子键是只读的。
Microsoft.Win32类还为我们提供了另一个方法,用于打开远程计算机上的注册表,方法原型为:
4.public
static
OpenRemoteBaseKey(RegistryHive
hKey,string
machineName);
C#操作注册表常用方法之删除子键的方法原型为:
5.public
DeleteKey(string
subkey);
该方法用于删除指定的主键。
如果要删除的子键还包含主键则删除失败,并返回一个异常,如果要彻底删除该子键极其目录下的子键可以用方法DeleteSubKeyTree,该方法原型如下:
6.public
DeleteKeyTree(string
C#操作注册表常用方法之读取键值的方法原型如下:
7.public
object
GetValue(string
8.public
name,object
defaultValue);
参数name表示键的名称,返回类型是一个object类型,如果指定的键不存在则返回null。
如果失败又不希望返回的值是null则可以指定参数defaultValue,指定了参数则在读取失败的情况下返回该参数指定的值。
C#操作注册表常用方法之设置键值的方法原型如下:
9.public
SetValue(string
value);
C#操作注册表常用方法的内容就向你介绍到这里,希望对你了解和学习C#操作注册表常用方法有所帮助。
Windows
操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的,其中第二级目录包含了五个预定义主键分别是:
下面我们来分别解释这5个类的作用
HKEY_CLASSES_ROOT该主键包含了文件的扩展名和应用程序的关联信息以及Window
Shell和OLE用于储存注册表的信息。
HKEY_CURRENT_USER该主键包含了如用户窗口信息,桌面设置等当前用户的信息。
HKEY_LOCAL_MACHINE主键包含了计算机软件和硬件的安装和配置信息,该信息可供所有用户使用
HKEY_USERS该主键记录了当前用户的设置信息,每次用户登入系统时,就会在该主键下生成一个与用户登入名一样的子键,该子键保存了当前用户的桌面设置、背景位图、快捷键,字体等信息。
HKEY_CURRENT_CONFIG该主键保存了计算机当前硬件的配置信息,这些配置可以根据当前所连接的网络类型或硬件驱动软件安装的改变而改变。
C#也支持对注册表的编辑,.NET框架在Microsoft.Win32名字空间中提供了两个类来操作注册表:
这两个类都是密封类不允许被继承