新解C#如何获取注册表中的主键、子键以及具体的键值-网络教程与技术 -亦是美网络

亦是美网络

致力于操作系统应用与计算机网络技术的IT网站。

站内搜索


最新文章

推荐文章

新解C#如何获取注册表中的主键、子键以及具体的键值

网上讲解关于C#如何获取注册表中键值的教程很多,但是对于新手来说,网上的这些教程有些鱼龙混杂,笔者也是一个C#爱好者,虽然懂得一些编程基础,但是对于某些具体的应用还是不求甚解,在寻求获取注册表键值的时候花费了大量的精力,不过付出的艰辛终归有回报,让笔者彻底掌握了C#如何来获取注册表的键值,为了帮助更多的c#新手少走一些弯路,亦是美网络觉得很有必要和大家分享一下我的心得。

C#中主要通过两个类来获取注册表中的主键和键值,它们分别是Registry、RegistryKey,这两个类属于命名空间Micosoft.Win32,所以我们在使用这两个类之前,请首先添加Microsoft.Win32这个命名空间,Registry类主要用于获取注册表中的主键,大家都知道windows注册表中有几个不同的主键,比如 HKEY_LOCAL_MACHINE;而RegistryKey类是在Registry类确定主键的情况下,获取主键下面的子键,下面我们以一个具体的例子来详解这两个类的具体用法。

比如我们想要获取office2013 word的安装目录,那么我们可以通过注册表找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Word\InstallRoot来实现:

RegistryKey hkml = Registry.LocalMachine; //获取主键HKEY_LOCAL_MACHINE
RegistryKey software = hkml.OpenSubKey("software", true); //获取/检索子键
RegistryKey microsoft = software.OpenSubKey("microsoft", true); //获取/检索子键
RegistryKey office = microsoft.OpenSubKey("office", true); //获取/检索子键
RegistryKey office15 = office.OpenSubKey("15.0", true);//获取/检索子键
RegistryKey infopath = office15.OpenSubKey("word", true); //获取/检索子键
RegistryKey installroot = infopath.OpenSubKey("installroot", true); //获取/检索子键
string office2013path = installroot.GetValue("path").ToString(); //获取子键中指定项的键值
hkml.Close(); //关闭对注册表的访问

从上面我们可以看出,Registry类来获取主键LocalMachine,RegistryKey则获取它下面的子键,一直到最后一个子键Install,当然了,里面还用到了OpenSubKey方法,这个方法主要用于打开注册表中的子键,比如RegistryKey software = hkml.OpenSubKey("software", true);的意思为检索指定的子键,并且是否给予该项“写权限”。

当检索到最后一个子键时,我们就可以通过GetValue方法来获取指定项的键值属性了。

上一篇:win8.1系统无法使用telnet命令怎么办?教你轻松开启win8.1的telnet功能
下一篇:Visual Studio 2013 C#使用clickonce发布应用程序需注意的几点事项

亦是美网络,成立于2012年12月5日,是一个致力于操作系统应用与计算机网络技术的综合IT网站,为大家不断提供和推荐有用的网络教程与技术。

本站文章归<亦是美网络 www.yishimei.cn>版权所有 网站地图 联系我们 豫ICP备12013471号-4 豫公网安备41078202000395号