.Net 2.0 原汁原味读取注册表
在.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得到的结果就是没有经过展开的数据了。
相关推荐
-
.Net 2.0 原汁原味读取注册表
在.Net 1.x当中,使用Microsoft.Win32.RegistryKey类的GetValue方法读取注册表数据时,其实数据都是经过"处理"的: 例如,某个字符串数据本来的值是%SystemRoot%\System32\IoLogMsg.dll但是用GetValue方法得到的数据却是C:\WINDOWS\System32\IoLogMsg.dll 也就是说,在读取注册表中的字符串时,系统会自作主张地替你展开环境变量. 这的确省去我们调用Environment.ExpandEnv
-
读取注册表根据Office版本获取数据库连接字段
/// <summary> /// 读取注册表,根据Office版本获取数据库连接字段 /// </summary> /// <returns>数据库连接字段</returns> private string GetConnectionString() { string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = "; RegistryKey
-
C++读取注册表的实现方法
C++读取注册表 GetRegValue.h: #ifndef __GETREGVALUE_H__ #define __GETREGVALUE_H__ #include <string> //--------------------------------------------------------------- //function: // GetRegValue 获取注册表中指定键的值 //Access: // public //Parameter: // [in] int nKeyT
-
js读取注册表的键值示例
复制代码 代码如下: <span style="font-size:18px">try { var shell = new ActiveXObject("WScript.Shell"); --读取注册表 var key = shell.RegRead("HKEY_CURRENT_USER\\Software\\AC3Filter\\equalizer\\Linear scale\\eq_freq_0"); -- 删除注册表 shell
-
C#实现读取注册表监控当前操作系统已安装软件变化的方法
本文实例讲述了C#实现读取注册表监控当前操作系统已安装软件变化的方法.分享给大家供大家参考.具体实现方法如下: private static HybridDictionary GetSoftName() { string strSoftName = string.Empty; HybridDictionary hdSoftName = new HybridDictionary(); /*对注册表节点"Software/Microsoft/Windows/CurrentVersion/Uninst
-
C# 多线程读取注册表,加载至TreeView
复制代码 代码如下: using System; using System.Drawing; using System.Windows.Forms; using System.Threading; using Microsoft.Win32; namespace 星空个性化助手 { public partial class Form1 : Form { private delegate void LoadTreeView左侧( TreeNode node );//声明委托类型 public Fo
-
Java通过CMD方式读取注册表任意键值对代码实践
需要读取如图所示注册表[HKEY_LOCAL_MACHINE\SOFTWARE\EasyDrv7]节点下的[DateTime]的值 直接上代码: package com.beibei.common.util.cmd; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map;
-
python读取注册表中值的方法
在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便.不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库. 下面的例子是通过Python获取Windows XP下已经安装的补丁号.Windows的补丁号都在"HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Updates"下,通过循环下面所有的目录节点,如果找
-
批处理操作注册表完全攻略(读取注册表/写入注册表等)
一,批处理生成.Reg文件操作注册表 用批处理中的重定向符号可以轻松地生成.reg文件.然后用命令执行.reg文件即可! 这里,着重要了解.reg文件操作注册表的方法. 首先.reg文件首行必须是:Windows Registry Editor Version 5.00.然后才是操作注册表的内容. (就和从注册表中导出的文件格式一致) 1,创建子项 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TTT] 在HK
-
批处理读取注册表中run下面的值的代码
复制代码 代码如下: @echo off for /f "tokens=2 delims=:" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run') do echo %systemDrive%%%i pause>nul
随机推荐
- 以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
- 网管员需注意的十点安全技巧
- 详解Python实现按任意键继续/退出的功能
- 解决微信内置浏览器返回上一页强制刷新问题方法
- ES6新特性之解构、参数、模块和记号用法示例
- php curl的深入解析
- 可以在线执行PHP代码包装修正版
- Android开发从相机或相册获取图片裁剪
- 微信公众号开发之微信公共平台消息回复类实例
- Java数据结构(线性表)详解
- C++设计模式之简单工厂模式实例
- JavaScript 给汉字排序实例代码
- Android创建服务之started service详细介绍
- MSXML2.XMLHTTP 800401F3 错误的解决方法
- JAVA流控及超流控后的延迟处理实例
- 不同编码的页面表单数据乱码问题解决方法
- js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
- android获取手机IMSI码判断手机运营商代码实例
- Python 硬币兑换问题
- MySQL慢SQL语句常见诱因以及解决方法
