.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
随机推荐
- PHP简单实现欧拉函数Euler功能示例
- JavaScript 用fetch 实现异步下载文件功能
- python模拟登录并且保持cookie的方法详解
- 运用mysqldump 工具时需要注意的问题
- 解决JS外部文件中文注释出现乱码问题
- iOS中设置view圆角化的四种方法示例
- 解决vue里碰到 $refs 的问题的方法
- 玩转方法:call和apply
- ES6新特性八:async函数用法实例详解
- php常量详细解析
- php遍历CSV类实例
- ThinkPHP中自定义目录结构的设置方法
- JS模拟自动点击的简单实例
- node.js 利用流实现读写同步,边读边写的方法
- JS数组搜索之折半搜索实现方法分析
- 读jQuery之三(构建选择器)
- JavaScript 限制文本框不可输入英文单双引号的方法
- jQuery实现字符串全部替换的方法【推荐】
- 分享纯手写漂亮的表单验证
- javascript 方法一些使用方法