Windows系統中環境變數的放置地方

在windows下,除了registry外,環境變數是另一個可以用來控制某些程式行為的地方。甚至其PATH變數可以決定程式能不能被執行。一般熟悉DOS指令的人,都會使用set這個命令去設定或是查看環境變數。

不過,不曉得為何Microsoft似乎不太喜歡讓人使用這個功能,所以關於環境變數的功能都非常難用。在windows下,環境變數其實也是放在registry的。所以,如果你想自己寫個小工具去修改環境變數,就需要知道環境變數在registry的位置。

[][1]

基本上,環境變數在registry中存在於兩個地方,分別是

  • HKCU\Environment
  • HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

所以,你的程式可以透過修改registry的方式來修改環境變數。除了上面這兩個地方外,還有另外一個是傳統DOS的作法,也就是

  • autoexec.bat
  • config.sys

基本上,並不建議你將環境變數放在這個地方。不過,如果你是要找出某個環境變數的來源,除了registry外,也別忘記來這兩個檔案中找一下。有些傳統的軟體還是會用者兩個檔案的。

Microsoft有提供一個叫做setx.exe的程式,可以用來設定在上述Registry的環境變數。這個程式並不包含在windows中,你需要去Microsoft的網站找。

Reference

[1]:

comments powered by Disqus