通过注册表设置环境变量
2013-11-01 21:00
288 查看
其实一直不知道注册表是来做什么的(现在谈点理解:注册表就类似一个数据库,其中记录了一些信息,如我们的屏幕分辨率、鼠标的样式、等等。还有我们平常设置的环境变量保存在哪里的呢,呵呵,也是注册表中的吧)
通过注册表设置环境变量
大部分情况下我们都是通过Windows自带的环境变量编辑器来修改系统环境变量,也可以通过Windows系统提供的path,set两个命令临时修改。使用系统编辑器修改环境变量最终会反映到注册表中保存,我们知道环境变量分为两种,用户变量,以及系统变量,其存储的位置分别位于:
系统变量:
1 2 3 | [HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment] [HKLM\SYSTEM\ControlSet002\Control\Session Manager\Environment] [HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] |
1 | [HKCU\Environment] |
ControlSet001/ControlSet002/CurrentControlSet 保存用于系统启动的重要配置信息,其中 CurrentControlSet 指向 ControlSet001 ,两者互相同步,每次针对两者中任意一个分支的修改都会立即复制到另外一个分支相对应的键值中。
当系统启动时,会使用其中一个分支的信息以尝试启动系统,这个就是 ControlSet001,如果启动成功,那么 ControlSet001 的信息会复制到 ControlSet002 中。如果启动失败,那么就不会发生这个复制过程。
当系统因某些原因无法启动时,我们通常会使用 “Using the Last Known Good Configuration” 来尝试启动系统,也就是“最后一次正确的配置”(启动时按住F8),这时系统使用的就是ControlSet002 分支的配置信息。
上面仅针对 Windows XP,其它版本的 Windows 系统应该都是类似的。
由于我编译 VI IMproved 每次都要为 Make_cyg.mak 设置环境变量,非常的麻烦,所以就查找了这方面的知识,把设置 Environment 的过程写入注册表文件中,每次只要导入即可,非常的方便。
如下:
1 2 34 | Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Environment] "PERL"="C:/Perl" "PERL_VER"="58" "DYNAMIC_PERL"="yes" "PYTHON"="C:/Python25" "PYTHON_VER"="25" "DYNAMIC_PYTHON"="yes" "RUBY"="C:/Ruby" "RUBY_VER"="18" "RUBY_VER_LONG"="1.8" "DYNAMIC_RUBY"="yes" "TCL"="C:/Tcl" "TCL_VER"="84" "DYNAMIC_TCL"="yes" "MZSCHEME"="C:/MzScheme" "MZSCHEME_VER"="370_000" "DYNAMIC_MZSCHEME"="yes" |
相关文章推荐
- RTX 实时操作系统简介
- Java中两种String对象创建和初始化方式比较
- 字符串匹配:KMP算法
- 教你用python写游戏~
- Kaizen——英语学习小技巧之六
- windows下安装cygwin但是执行ssh localhost时出错,求解!
- 手机也能DIY!摩托罗拉启动模块化手机计划
- ffmpeg subtitle example
- 相声段子:求爱总动员
- 基于s5pv210嵌入式linux使用其他动态、静态库文件程序的交叉编译
- allegro 不显示铺铜
- 关于Cadence16.5和Cadence15.5共存的安装方法
- CSS margin值的設定
- 守护进程的建立
- Allegro封装(焊盘)制作
- NP完全问题
- HDOJ 4751 黑白染色问题
- 分享:写了一个 java 调用 C语言 开发的动态库的范例
- 我的学习笔记02-Android下利用Jsoup从工行网页提取白银价格到自己的app
- mpich2 error while connecting to host 由于目标计算机积极拒绝,无法连接。 (10061)