您的位置:首页 > 其它

通过注册表设置环境变量

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]

其中HKLM = HKEY_LOCAL_MACHINE,HKCU = HKEY_CURRENT_USER

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
5
6
7
8
9
10
1112
13
14
15
16
17
18
19
20
2122
23
24

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"

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: