.Net 2.0 原汁原味读取注册表

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在.Net 1.x当中,使用Microsoft.Win32.RegistryKey类的GetValue方法读取注册表数据时,其实数据都是经过“处理”的;

例如,某个字符串数据本来的值是%SystemRoot%\System32\IoLogMsg.dll但是用GetValue方法得到的数据却是C:\WINDOWS\System32\IoLogMsg.dll

也就是说,在读取注册表中的字符串时,系统会自作主张地替你展开环境变量。

这的确省去我们调用Environment.ExpandEnvironmentVariables方法的麻烦,但是反过来,当我们希望原封不动地拷贝一个注册表的字符串时则束手无策。

在.Net2.0当中,我们惊喜地发现Microsoft.Win32.RegistryKey类有了一个小小的改动,就是其GetValue方法增添了一个新的重载:

public Object GetValue (

string name,

Object defaultValue,

RegistryValueOptions options

)

该方法的第三个参数是一个枚举,目前只有一个有用的值就是DoNotExpandEnvironmentNames。

指定该值,GetValue得到的结果就是没有经过展开的数据了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航