系统环境变量和用户环境变量在注册表的那个位置

24 篇文章 1 订阅
23 篇文章 1 订阅
系统环境变量:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\

用户环境变量:
HKEY_CURRENT_USER\Environment

如何使用程序设置环境变量,或者获取环境变量值呢?
首先我们设置用户环境变量,
变量名为:stf 
 
变量值为:aizuguoairenmin

然后 重启VS,添加如下代码:
#include “windows.h”
#include “tchar.h”

int _tmain()
{
      TCHARbuf[1024] = L"0";
      GetEnvironmentVariable(L"stf", buf, sizeof(buf));//获取变量名为stf的变量值
      DWORD dw =GetLastError(); //判断是否获取stf对应的变量值
      if (0 !=dw)
      {
            return-1;
      }
      _tprintf(L"%s\n", buf);

      SetEnvironmentVariable(L"stf", L"China");//重新设置变量名为stf的变量值为China
      GetEnvironmentVariable(L"stf", buf, sizeof(buf));//查看获取的变量名是否修改成功
      _tprintf(L"%s\n", buf); //输出修改后的结果
      return0;
}

运行结果:
aizhuguoairenmin
China
请按任意键继续. . .

需要注意的是: 这里通过程序修改的环境变量值,在系统中还是显示之前的结果,那个因为SetEnvironmentVariable函数的修改只在当前进程有效。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要设置和判断系统环境变量,可以使用`reg`命令来操作Windows注册表。下面是一个示例代码: ```batch @echo off setlocal rem 定义要设置的系统环境变量名和值 set VAR_NAME=MY_VAR set VAR_VALUE=Hello World rem 判断系统环境变量名是否存在 reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% >nul if %errorlevel% equ 0 ( echo %VAR_NAME% 已经存在 rem 判断系统环境变量值是否存在 for /f "tokens=2*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME%') do ( if "%%B"=="%VAR_VALUE%" ( echo 系统环境变量值已经存在:%VAR_NAME%=%VAR_VALUE% ) else ( echo 更新系统环境变量值:%VAR_NAME%=%VAR_VALUE% reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% /t REG_SZ /d %VAR_VALUE% /f ) ) ) else ( echo %VAR_NAME% 不存在 rem 设置系统环境变量 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% /t REG_SZ /d %VAR_VALUE% /f echo 设置了新的系统环境变量:%VAR_NAME%=%VAR_VALUE% ) endlocal ``` 在上述代码,首先定义了要设置的系统环境变量名和值。然后使用`reg query`命令查询注册表是否存在指定的系统环境变量。如果存在,使用`for /f`命令获取当前环境变量的值,并与要设置的值进行比较。如果相同,则输出值已经存在的信息;如果不同,则使用`reg add`命令更新系统环境变量值。如果系统环境变量名不存在,则直接使用`reg add`命令设置新的系统环境变量,并输出设置成功的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值