.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
随机推荐
- windows下MySQL5.6版本安装及配置过程附有截图和详细说明
- 浅谈Sizzle的“编译原理”
- ERROR 1222 (21000): The used SELECT statements have a different number of columns
- AngularJs expression详解及简单示例
- AngularJS基础 ng-list 指令详解及示例代码
- 详解利用jsx写vue组件的方法示例
- 基于AngularJS的拖拽文件上传的实例代码
- 交换机如何配置 新手配置交换机详细教程
- 完整的iOS新浪微博分享功能开发
- PHP下获取上个月、下个月、本月的日期(strtotime,date)
- Codeigniter实现发送带附件的邮件
- javascript正则表达式和字符串RegExp and String(一)
- 详解Node.js项目APM监控之New Relic
- 下拉菜单的级联操作(ajax)
- ionic实现带字的toggle滑动组件
- java留言管理系统中模糊查询实例分享
- jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
- jQuery中outerWidth()方法用法实例
- Python实现Sqlite将字段当做索引进行查询的方法
- sql 随机抽取几条数据的方法 推荐
