小言_互联网的博客

c#设置环境变量(二)

290人阅读  评论(0)

在电脑上运行处输入 “regedit”,会显示本机的注册表编辑器:
(一共有七个巢,只可显示五个)

第二项“HKEY_CURRENT_USER”(HKCU)包含用户目前登陆的机器的用户配置。这些配置包括桌面设置、(用户)环境变量等等定义用户操作环境的设置。
其子节点“Environment”用来设置用户环境变量。

第三项“HKEY_LOCAL_MACHINE”(HKLM)是一个很大的巢,其中包括安装到机器上的软件和硬件信息,可用于登录到机器上的所有用户。
该巢下的子节点SYSTEM>>ControlSet001>>Control>>Session Manager>>Environment用来设置系统环境变量。
.NET 注册表类
通过使用 Microsoft.Win32命名空间中的两个类Registry和RegistryKey,可以便捷的访问注册表。
(1)RegistryKey实例表示一个注册表项,其包含的方法可以浏览子键、创建新键、读取或修改键中的值;
(2)Registry类只能对注册表键进行单一的访问,其一个重要作用是提供表示顶级键的RegistryKey实例(不同的巢),以便开始在注册表中浏览。Registry是通过静态属性来提供这些实例的,这些属性共有七个对应着七个巢。
例如:RegistryKey hklm=Registry.LocalMachine;
(3)获得RegistryKey 对象引用的过程,视为打开一个键。

修改用户环境变量
将上一篇文章中OpenSysEnvironment()函数内容修改为:

    RegistryKey regCurrentUser = Registry.CurrentUser;
    RegistryKey regEnvironment = regCurrentUser.OpenSubKey("Environment", true);
    return regEnvironment;

就可以实现对用户环境变量的操作了。

!!!
最后一定要调用关闭函数才可以保存修改,如:

regEnvironment.Close();

这个小问题折磨了我一个星期,细节决定成败。


转载:https://blog.csdn.net/qq_38337430/article/details/101035221
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场