use*_*747 6 c++ registry winapi posix environment-variables
注册表项和环境变量有什么区别?
我认为环境变量只能在 Windows 操作系统中找到?我听说改变这些很容易,所以相信它们不好?注册表项是否很容易更改?
注册表项是否存储在内核中?
我最重要的问题是:我知道环境变量让我知道%APPDATA的路径、当前用户名、程序文件的路径、运行的Windows操作系统的版本等。但是注册表项也包含这种类型吗?数据 - 我也可以通过查看注册表项找到此信息吗?
两者都用于配置程序。最大的区别是环境变量存储在内存中,注册表项存储在文件中。这解释了它们的许多属性:
另一个重要的区别:
环境变量在进程启动时加载到进程中。因此,如果您在进程运行后更改它们,该进程将看不到这一点。
关于你的另一个问题:
用户变量:HKEY_CURRENT_USER\Environment
系统变量:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
关于默认系统变量的文章:
http://vlaurie.com/computers2/Articles/environment.htm